使用 Spring Boot 3.1.5,我将代码从 sleuth 迁移到 Micrometer 进行跟踪。我让它工作登录traceId和spanId,但正如有人已经在这里问过的那样每次Spring Boot服务器收到请求并且每次调用Resttemplate时Micrometer是否应该生成一个新的Span?,当我调用时我试图维护spanId通过 http 的其他微服务。我正在使用 spring cloud open feign。
我有下一个假装配置:
@Configuration
public class FeignConfiguration {
@Bean
public Capability capability(final MeterRegistry registry) {
return new MicrometerCapability(registry);
}
@Bean
public Logger.Level loggerLevel() {
return Logger.Level.FULL;
}
}
为什么老侦探默认情况下不会在休息调用中创建新的跨度,为什么千分尺会这样做?对我来说,创建新的跨度没有任何意义。
如何使用 feign 客户端维护 HTTP 调用的范围?
谢谢!!
Feign 已检测完毕,将
org.springframework.cloud:spring-cloud-starter-openfeign
和 io.github.openfeign:feign-micrometer
添加到您的类路径中,它应该可以工作。请参阅:https://github.com/jonatan-ivanov/teahouse/blob/main/tea-service/build.gradle