使用Spring Boot 2.0.2的OpenTracing在Jaeger中不会产生任何痕迹

时间:2018-11-28 11:32:16

标签: java spring-boot opentracing jaeger

我正在为Spring Boot 2.0.2应用程序设置OpenTracing / Jaeger。从Spring Boot 1.5.3的一个可行但非常好的示例开始,我继续使用Spring Boot 2.0.2 -可以正确发送跟踪。但是在那里使用的依赖关系太可笑了(例如opentracing-spring-web-auto-configure的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实现(与过时的部门配合使用)
  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 _

1 个答案:

答案 0 :(得分:1)

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

使用

amount

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

这解决了我的问题。