自己建立网站,江西住房和城乡建设部网站首页,设计软件手机版免费,宽带收费价格SpringCloud项目做链路追踪#xff0c;比较常见的会集成SleuthZipKin来完成#xff0c;但这次的需求要集成开源框架OpenTelemetry#xff0c;这里整理下实现过程。相关文章#xff1a;
【SpringCloud集成SleuthZipkin进行链路追踪】
【OpenTelemetry框架Trace部分整理】 …SpringCloud项目做链路追踪比较常见的会集成SleuthZipKin来完成但这次的需求要集成开源框架OpenTelemetry这里整理下实现过程。相关文章
【SpringCloud集成SleuthZipkin进行链路追踪】
【OpenTelemetry框架Trace部分整理】 文章目录 1、Demo项目介绍2、maven配置3、生成OpenTelemetrySdk对象 1、Demo项目介绍
这里用一个简单的SpringCloud项目来演示如何集成OpenTelemetry项目中有三个服务网关gateway、订单服务order、用户服务user且order通过Feign远程调用user最后数据导出到zipkin。OpenTelemetry专注的是生成、收集、导出存储和可视化的事儿交给其他工具如ZipKin、Jager 2、maven配置
父项目中定义OpenTelemetry依赖版本根据实际情况自适应这里选1.1.0
propertiesspring-cloud.versionHoxton.SR8/spring-cloud.versionopentelemetry.version1.1.0/opentelemetry.versiongrpc.version1.36.1/grpc.version
/propertiesdependencyManagementdependenciesdependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversion${spring-cloud.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdio.opentelemetry/groupIdartifactIdopentelemetry-bom/artifactIdversion${opentelemetry.version}/versiontypepom/typescopeimport/scope/dependency/dependencies
/dependencyManagement加入opentelemetry依赖项:
dependencygroupIdio.opentelemetry/groupIdartifactIdopentelemetry-api/artifactId
/dependency
dependencygroupIdio.opentelemetry/groupIdartifactIdopentelemetry-sdk/artifactId
/dependency
dependencygroupIdio.opentelemetry/groupIdartifactIdopentelemetry-exporter-otlp/artifactId
/dependency
dependencygroupIdio.opentelemetry/groupIdartifactIdopentelemetry-semconv/artifactIdversion1.1.0-alpha/version
/dependency
dependencygroupIdio.grpc/groupIdartifactIdgrpc-protobuf/artifactIdversion${grpc.version}/version
/dependency
dependencygroupIdio.grpc/groupIdartifactIdgrpc-netty-shaded/artifactIdversion${grpc.version}/version
/dependency
dependencygroupIdio.opentelemetry/groupIdartifactIdopentelemetry-exporter-zipkin/artifactId
/dependency复习Tip 在父项目中的dependencies中定义的所有依赖在子项目中都会直接继承在父项目中的dependencyManagement中定义的所有依赖子项目并不会继承还要在子项目中引入我们需要的依赖才能进行使用但是在子项目中不用设置版本说白了就像后面的manager单词只是做个统一管理 3、生成OpenTelemetrySdk对象
准备OpenTelemetrySdk对象用于生成tracer、textMapPropagator等后面要用的对象这里我用静态代码块实现也可直接注册为Bean
在这里插入代码片以下为注册为Bean的方式二选一即可
在这里插入代码片