0

有没有办法为 spring cloud sleuth 2 自定义 Span 注入和提取器?在 1.2 版的文档中,我发现了一种在新版本(2)上不可用的方法。我想是因为现在它使用 Zipkin 勇敢地照顾了 Span,对吧? https://cloud.spring.io/spring-cloud-sleuth/1.2.x/multi/multi__customizations.html#_example

我试图回到使用稳定版本(1.3.3)的spring cloud sleuth,但是当我将bom用于项目时,它在我正在使用的spring boot版本(2.0)中产生冲突。它与 spring boot 版本 2 兼容吗?

我正在使用 spring cloud sleuth 来跟踪我公司的服务,但是我有一个跟踪其他服务的版本,它不能与 opentracing 标头压缩,所以我想更改 http 消息的标头以创建新服务具有我在其他组件中的当前跟踪标头的可压缩文件。

谢谢

4

1 回答 1

0

我试图回到使用稳定版本(1.3.3)的spring cloud sleuth,但是当我将bom用于项目时,它在我正在使用的spring boot版本(2.0)中产生冲突。它与 spring boot 版本 2 兼容吗?

您不能将 Sleuth 1.3 与 Boot 2.0 一起使用。

我正在使用 spring cloud sleuth 来跟踪我公司的服务,但是我有一个跟踪其他服务的版本,它不能与 opentracing 标头压缩,所以我想更改 http 消息的标头以创建新服务具有我在其他组件中的当前跟踪标头的可压缩文件。

是的,这就是勇敢的变化。对于 http,您可以定义自己的解析。https://github.com/spring-cloud/spring-cloud-sleuth/blob/master/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/TraceHttpAutoConfiguration。爪哇#L57-L68

@Autowired HttpClientParser clientParser; @Autowired HttpServerParser serverParser; @Autowired @ClientSampler HttpSampler clientSampler; @Autowired(required = false) @ServerSampler HttpSampler serverSampler;

这些是您可以注册的采样器。

对于消息传递,您必须创建自己的全局通道拦截器版本 - 就像我们在此处定义的那样 - https://github.com/spring-cloud/spring-cloud-sleuth/blob/master/spring-cloud- sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TraceSpringIntegrationAutoConfiguration.java#L49-L53

如果这对您来说不可接受,请继续在 Sleuth 中提出问题,以便我们在那里讨论。

于 2018-04-18T12:29:29.577 回答