一次「找回」TraceId的问题分析与过程思考

小结:

1、

虽然MTrace已经通过javaagent&instrument技术可以完成Trace信息跨线程传递,但是目前只覆盖到ThreadPoolExecutor类、ScheduledThreadPoolExecutor类和ForkJoinTask类的字节码,而@Async在未指定线程池的情况下默认会启用SimpleAsyncTaskExecutor,其本质是java.util.concurrent.Executor没有被覆盖到,就会造成ThreadLocal中的get方法获取信息为空,导致最终TraceId传递丢失。

 

 

一次「找回」TraceId的问题分析与过程思考 https://mp.weixin.qq.com/s/T7P2-tiroXWI9xd8FhsuFA

posted @ 2023-05-11 23:27  papering  阅读(85)  评论(0编辑  收藏  举报