java agent
比较有代表性的两个产品:
- skywalking
- 一般通过静态 attach 的方式对字节码增强。premain 作为入口。
- arthas
- 通过动态的方式 attach 的方式对字节码增强。agentmain 作为入口。
基本原理
通过 JDK 自带的 instrumentation 实现。增加 transformer,将要增强的类进行 transform。
比较有代表性的两个产品:
通过 JDK 自带的 instrumentation 实现。增加 transformer,将要增强的类进行 transform。