Spring Boot 3 中的 @NewSpan 和 @ContinueSpan 支持

Com*_*ime 5 spring-boot micrometer-tracing

我创建了一个演示应用程序,我想了解如何在 Spring Boot 2 和 Spring Boot 3 中设置跟踪:https://github.com/Compile-Time/demo-tracing-in-spring-boot-2-and- 3

该演示对 Spring Boot 3 项目使用以下跟踪依赖项。

implementation 'io.micrometer:micrometer-tracing-bridge-brave'
implementation 'io.zipkin.reporter2:zipkin-reporter-brave'
Run Code Online (Sandbox Code Playgroud)

相关代码是这个。

implementation 'io.micrometer:micrometer-tracing-bridge-brave'
implementation 'io.zipkin.reporter2:zipkin-reporter-brave'
Run Code Online (Sandbox Code Playgroud)

根据 Micrometer Tracing 存储库中的迁移指南,似乎所需要做的就是将 Spring Cloud Sleuth 包名称更改为 Micrometer Tracing 包名称:https://github.com/micrometer-metrics/tracing/wiki/Spring -Cloud-Sleuth-3.1-迁移指南#async-instrumentation

但是,在 Spring Boot 3 中演示 @NewSpan 和 @ContinueSpan 注释时,我没有看到任何新的子跨度或对现有跨度的修改。这让我想知道是否支持“旧”Sleuth 注释。因为 micrometer-tracing 文档没有提到 @NewSpan 和 @ContinueSpan 注释的存在: https: //micrometer.io/docs/tracing。此外,我在 Spring Boot 3 文档中没有找到任何建议支持“旧”注释的提示。

但是,在微米跟踪存储库中存在注释: https: //github.com/micrometer-metrics/tracing/tree/main/micrometer-tracing/src/main/java/io/micrometer/tracing/annotation

因此理论上,有人可以提供一个实现,使 @NewSpan 和 @ContinueSpan 注释发挥作用。

这让我做出以下假设:

  • Spring Boot 3 不正式支持旧的注解
  • 如果有人愿意,他们可以通过为旧注释手动实现检测/AOP 方面来使旧注释起作用
  • Micrometer 的观察 API 是未来的首选方法

如果有人能证实或否认我的部分或全部假设,我会很高兴。我可能在某个地方错过了一些东西。

我搜索了以下存储库以查找 @NewSpan 或 @ContinueSpan 支持的任何提示:

我在以下文档中查找了 @NewSpan 和 @ContinueSpan 的任何提及:(我无法在此处提供链接,因为这是一个没有声誉的新帐户......)

  • 千分尺文档 - 千分尺追踪
  • Spring Boot 3 - 生产就绪功能 - 指标
  • Spring Boot 3 - 生产就绪功能 - 跟踪

dal*_*y42 3

根据Micrometer 文档,他们添加了对 Micrometer Tracing 1.1.0 的支持和@NewSpan注释。@ContinueSpan@SpanTag

Micrometer Tracing 1.1.0 随 Springboot 3.1.0 一起提供,目前正在里程碑版本中。