0

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 没有按照承诺自动注册?难道我做错了什么?

我在用

芬奇利.SR2

4

1 回答 1

2

我正在使用 Finchley.SR2 发布系列。一旦我升级到最新的 Spring Boot 和 Spring Cloud 版本,问题就会自行解决。

我删除了 opentracing-spring-cloud-starter 依赖项,现在只使用

   <dependency>
        <groupId>io.opentracing.brave</groupId>
        <artifactId>brave-opentracing</artifactId>
    </dependency>
于 2018-11-19T07:32:06.467 回答