我正在尝试使用 GCP 云跟踪为我的 micronaut 服务设置分布式跟踪。服务是用 kotlin 和协程编写的,micronaut 版本是 1.3.7。
当我向我的应用程序发出请求时,我可以在 gcp-console 中看到跟踪。但是,我的应用程序对后续服务进行的任何 http 调用最终都会作为不同的跟踪,而不是跨越一个跟踪。如果我查看跟踪标头,我可以看到它似乎在切换线程时切换了跟踪 ID。
如何让 micronaut 在请求期间跨线程使用相同的跟踪 ID?
示例应用程序: https ://github.com/bjor-joh/micronaut-distributed-tracing
顶部的一个和右侧的两个是相同的请求,但最终成为三个单独的跟踪,而不是同一个跟踪中的跨度。