gpt4 book ai didi

java - 使用 Spring Boot 2.0.2 进行 OpenTracing 不会在 Jaeger 中产生任何跟踪

转载 作者:行者123 更新时间:2023-12-02 10:32:39 31 4
gpt4 key购买 nike

我正在努力为 Spring Boot 2.0.2 应用程序设置 OpenTracing/Jaeger。从 Spring Boot 1.5.3 的一个工作但非常示例开始,我转向了 Spring Boot 2.0.2——它正确地发送了跟踪。但那里使用的依赖项非常旧(例如 opentracing-spring-web-autoconfigure 的 0.0.4,现在可在 0.3.2 中使用)。

因此,我将应用程序迁移到最新的依赖项,这导致 Jaeger 中不再出现任何痕迹。

我已将测试上传到 https://gitlab.com/ceedee_/opentracing-spring-boot 。分支如下:

  1. master -> Spring 1.5.3 实现(工作中)
  2. spring-boot-2-0-2-RELEASE -> Spring 2.0.2 实现(使用过时的 deps)
  3. spring-boot-2-0-2-RELEASE-latest-deps -> Spring 2.0.2 实现(不起作用!)

与2.和3.的区别如下:

  1. 更新了 pom.xml 以获取更新的依赖项。
  2. jaegerTracer bean 使用构建器(不再配置 Const-Sampler,应该是默认值)
  3. application.properties 激活 Const-Sampler(已注释掉,因为它没有任何改进)

有谁知道我做错了什么以便正确地将痕迹放入 Jaeger 中?有关调试 OpenTracing/Jaeger 的提示也值得赞赏!

最诚挚的问候,cd_

最佳答案

问题是,报表实例使用了 NoopSender —— 因此忽略了连接设置。

使用

    <dependency>
<groupId>io.jaegertracing</groupId>
<artifactId>jaeger-thrift</artifactId>
<version>0.32.0</version>
</dependency>

在您的 POM 中将为 Jaeger 的 SenderResolver::resolve 方法使用的 SenderFactory 提供适当的 Sender。

这解决了我的问题。

关于java - 使用 Spring Boot 2.0.2 进行 OpenTracing 不会在 Jaeger 中产生任何跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53518480/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com