-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
与其他探针放在一起使用的时候,如果ttlagent顺序在其他探针之后,探针失效无法跨线程 #525
Comments
解决方案:在添加transformer之后,将需要的嵌码类retransform一下 |
@will-zdu 在文档 FAQ 中已说明:
嗯嗯,欢迎讨论与实现 @will-zdu |
已经测试验证过了,问题已经解决,当然我只测试了ThreadPoolExecutor类。 我看 #226 里面的讨论是ttl agent会尝试修改类文件结构?如果是这样的话,那确实是存在问题,请问是在那个地方修改了那个类的类文件结构 如果是这样的话,我认为ttl agent这样的修改不太好,修改类的结构在我看来是个不提倡的操作 |
如果只是解决
当然,你的实现可以自己打个包,在你自己应用中用起来。 💕 @will-zdu
欢迎给出不同的实现与验证 💕 |
如果没有修改类文件结构,使用retransform transform该类没有任何的问题,以我们探针这么多年的使用经验来说,除了需要短暂的进入safepoint,挂起jvm,没有发现有任何问题,当然进入safepoint是必须的,我觉得可以暂时将ForkJoinPool移除retransform的类列表 |
我把代码修改了一下,将ForkJoinPool移除retransform的类列表,这样应该是可以工作了,但是如果别的探针触发了ForkJoinPool的retransform,问题依然是存在的 |
使用
TTL Agent
加其他Agent
,TTL Agent
顺序在最后,runnable
无法改成TtlRunnable
问题原因:其他探针启动的时候使用了
ThreadPoolExecutor
,导致TTL Agent
没有机会transformThreadPoolExecutor
类The text was updated successfully, but these errors were encountered: