arthas
arthas copied to clipboard
支持启动时增强/trace/watch类
目前arthas的工作方式是主动的,当执行命令时,从jvm搜索所有加载的类,做一次增强。
- 如果命令执行时,类还没被加载,则搜索不到,也就是不起作用
- 如果命令执行成功后,又加载新的类,也会匹配不到
考虑一种Listener的模式,可以预先设定匹配的表达式,如果有匹配的类被加载时,就会触发增强。
难点在于怎么和现有的机制结合起来。
我知道jvm-sandbox是可以实现你上述的监听的,也许你可以看看它们的代码?com.alibaba.jvm.sandbox.api.listener.ext.EventWatchBuilder.IBuildingForBehavior#onWatch(com.alibaba.jvm.sandbox.api.listener.EventListener, com.alibaba.jvm.sandbox.api.event.Event.Type...)