jvm-sandbox功能
jvm-sandbox是一个java动态字节码注入的工具,使用非常灵活,项目主页https://github.com/alibaba/JVM-Sandbox,它的原理是通过JVM-TI技术,利用asm修改字节码的能力,实现对运行时系统切入动态逻辑,具体使用介绍可以查看其主页说明。
service-trace使用
service-trace是一个使用jvm-sandbox来实现系统内部方法调用依赖录制的工具,项目地址为https://github.com/fengzhongke/service-trace,项目打包完之后,直接在sandbox中使用,它可以录制Service/ServiceImpl/Controller结尾的类,以及一些jedis,dubble, mybatis,mq等中间件RPC的调用
服务录制
启动
1、对service-trace项目进行打包mvn clean package
2、启动sandbox,例如我们要跟踪的进程号为12432,我们sandbox启动端口为8901,则进入sandbox的bin目录,执行./sandbox.sh -p 12432 -P 8901 -R