如何调整 Sleuth headers 使其与 OpenTracing 兼容

How adap Sleuth headers to make them compatible with OpenTracing

我正在研究用 Spring Boot 编写的一大堆微服务,这些服务正在使用 spring-cloud-starter-sleuth 以跟踪多个服务之间的调用。

我担心的是我已经实施了一项基于 Quarkus 的新服务,但 quarkus-smallrye-opentracing 无法识别 [=31= 发送的 header ]侦探.

我无法使用 Sleuth 修改现有服务,因此我正在寻找一种方法来转换 Sleuth 发送的 header 以使其与 opentracing 兼容。

Sleuth 发送了 header 赞:

有没有办法在 Quarkus 中实现这种转换?

我看了各种post像这个但是它不是很有帮助,因为我无法触及Spring中的现有服务...

提前致谢。

默认情况下,Quarkus 使用 Jaeger 作为 OpenTracing 实现。

Jaeger 正在使用“Uber”传播 headers,这与 Spring Sleuth (B3)

使用的不同

您可以将 Quarkus 配置为使用 B3 传播来与 Spring Sleuth 和 属性 一起工作: quarkus.jaeger.propagation=b3

https://quarkus.io/guides/opentracing#quarkus-jaeger_quarkus.jaeger.propagation