我有一个简单的Spring Boot 2.x RestController,它有一个执行某些远程调用的端点,控制器也在调用一个Async方法,该方法反过来进行几个远程HTTP调用。
我在类路径中启用了opentrackingspring-jaeger网络启动器的跟踪功能。如果我调用REST端点,它会为端点调用以及控制器同步进行的远程调用创建一个跨度。
然而,Async方法进行的远程调用在其自己的跨度中得到报告。这是设计的,还是有一种方法可以将一些上下文信息传播到Async方法,以更好地对跨度进行分组/关联?
我使用这个库解决了这个问题https://github.com/opentracing-contrib/java-spring-cloud
它似乎有一个选项来启用或禁用不同的检测功能。阅读opentracing.spring.cloud.async.enabled
了解更多信息。