迁移到 Spring Boot 3 后 TraceId 和 SpanId 不可用

htm*_*oia 10 java spring-boot micrometer spring-micrometer

将 Spring Boot 从版本 2.x 迁移到版本 3 后,我们在日志中丢失了 traceId 和 spanId。

我们删除了所有sleuth依赖项并添加了

implementation 'io.micrometer:micrometer-core'
implementation 'io.micrometer:micrometer-tracing'
implementation 'io.micrometer:micrometer-tracing-bridge-brave'
implementation platform('io.micrometer:micrometer-tracing-bom:latest.release')
Run Code Online (Sandbox Code Playgroud)

implementation 'io.micrometer:micrometer-core'
implementation 'io.micrometer:micrometer-tracing'
implementation 'io.micrometer:micrometer-tracing-bridge-brave'
implementation platform('io.micrometer:micrometer-tracing-bom:latest.release')
Run Code Online (Sandbox Code Playgroud)

但没有记录任何traceIds 和spanIds。

有什么我们错过的吗?

Jon*_*oni 8

您需要执行器和桥,不需要您包含的其余部分:

implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'io.micrometer:micrometer-tracing-bridge-brave'
Run Code Online (Sandbox Code Playgroud)

如果你还想报告你的跨度,你也应该添加 zipkin 报告器:

implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'io.micrometer:micrometer-tracing-bridge-brave'
implementation 'io.zipkin.reporter2:zipkin-reporter-brave'
Run Code Online (Sandbox Code Playgroud)

这是start.spring.io上的一个示例,并且micrometer-samples存储库中有很多示例。