Closed AlbertGithubAI closed 1 year ago
通过arthas jad看对应的类,均已被transform
运行的业务逻辑上,TTL Agent
是不是已经生效? @AlbertGithubAI
如果TTL Agent
已经运行时已生效,则可能要看看
arthas
)的使用 trace
是位置是否正确通过arthas jad看对应的类,均已被transform
运行的业务逻辑上,
TTL Agent
是不是已经生效? @AlbertGithubAI如果
TTL Agent
已经运行时已生效,则可能要看看
- 工具(
arthas
)的使用- 或是
trace
是位置是否正确
业务不生效,所以来排查具体的问题,使用agent版本为2.14.2。
另外单独使用ExecutorServiceTtlWrapper是可以的,但是加上agent就会有问题。
业务不生效,所以来排查具体的问题,使用agent版本为2.14.2。
也注意确认一下,应用中使用的TTL
库的版本是否为最新的。@AlbertGithubAI
Tomcat
涉及ClassLoader
,可能生效的是应用中的库TTL
库版本中可能有影响的Bug
关于Tomcat
下,TTL Agent
的使用,有相关的 issue讨论,比如可以看看 @AlbertGithubAI
arthas的jad是否会触发ThreadPoolExecutor类的retransform,通过打印Stack Trace发现在jad ThreadPoolExecutor之前没有TtlRunnable的堆栈,但是jad之后就有了,并且jad的结果显示已经被增强了。 @oldratlee
看了一下arthas jad的原理,发现在排查java agent失效原因的时候不能使用jad命令,因为jad命令会重新触发retransform。
使用Java agent不生效,通过arthas jad看对应的类,均已被transform,但是trace不到TtlRunnable和TransmittableThreadLocal的执行记录。
运行环境为Tomcat容器,没有使用其它agent。还有没有其它方法来排查?