Spring Doc说
Spring Cloud Sleuth与OpenTracing兼容。 如果您在类路径上具有OpenTracing,我们将自动注册OpenTracing Tracer bean 。如果要禁用此功能,请将spring.sleuth.opentracing.enabled设置为false
我的POM中具有以下依赖项。
<dependency>
<groupId>io.opentracing.contrib</groupId>
<artifactId>opentracing-spring-cloud-starter</artifactId>
<version>${version.opentracing.spring}</version>
</dependency>
但是,当我尝试打印跟踪和跨度信息时,我得到以下打印出来的日志: tracer:NoopTracer
2018-11-19 12:12:03.938 [{X-B3-SpanId=4cd8eed6fe759bd1, X-B3-TraceId=5bf25b3bd0714ae54cd8eed6fe759bd1, X-Span-Export=true, spanExportable=true, spanId=4cd8eed6fe759bd1, traceId=5bf25b3bd0714ae54cd8eed6fe759bd1}] DEBUG ahallim-1ef960 --- [nio-7070-exec-1] a.h.w.RestaurantController : tracer: NoopTracer
2018-11-19 12:12:03.939 [{X-B3-SpanId=4cd8eed6fe759bd1, X-B3-TraceId=5bf25b3bd0714ae54cd8eed6fe759bd1, X-Span-Export=true, spanExportable=true, spanId=4cd8eed6fe759bd1, traceId=5bf25b3bd0714ae54cd8eed6fe759bd1}] INFO ahallim-1ef960 --- [nio-7070-exec-1] a.h.w.RestaurantController : active span: null
我为什么要获得NopTracer?为什么未按照承诺自动注册Brave?我在做错什么吗?
我正在使用
Finchley.SR2
答案 0 :(得分:1)
我正在使用Finchley.SR2发行版。一旦我升级到最新的Spring Boot和Spring Cloud版本,此问题便自动修复。
我删除了opentracing-spring-cloud-starter依赖项,现在仅使用
<dependency>
<groupId>io.opentracing.brave</groupId>
<artifactId>brave-opentracing</artifactId>
</dependency>