基于JVisualIVM的可视化监控与Btrace的监控调试
基于JVisualIVM的可视化监控与Btrace的监控调试
一、基于JVisualIVM的可视化监控
1、监控本地Tomcat
2、监控远程Tomcat
3、监控普通的JAVA进程
二、基于Btrace的监控调试
1、简介
(1)BTrace可以动态地向目标应用程序地字节码注入追踪代码
(2)JavaComplierApi,JVMTI,Agent,Instrumentation+ASM
2、拦截方法
(1)普通方法@OnMethod(clazz=””,method=””)
(2)构造函数@OnMethod(clazz=””,method=””)
3、拦截时机
(1)Kind.ENTRY:入口,默认值
(2)Kind.RETURN:返回
(3)Kind.THROW:异常
(4)Kind.Line:行
4、拦截this、参数、返回值
(1)this:@Self
(2)入参:可以用AnyType,也可以用真实类型,同名的用真实的
(3)返回:@Return
(4)获取对象的值
简单类型:直接获取
复杂类型:反射,类名+属性名
5、注意事项
(1)默认只能本地运行
(2)生产环境下可以使用,但是被修改的字节码不会被还原