一.简易安装
curl -O https://arthas.aliyun.com/arthas-boot.jar
二.运行
java -jar arthas-boot.jar
三.使用
3.1 jad 反编译 -E使用正则
jad com.hongcheng.bigdata.startfish.controller.auth.LoginController
jad -E .*?LoginController
jad -E .*?LoginContr.*
3.2 tt 记录方法的调用情况
安装好arthas idea插件之后,在需要记录执行的方法上面单击右键,选择TimeTunnel Tt,第一个红框是获取记录方法执行的命令
tt -t com.hongcheng.bigdata.startfish.controller.auth.LoginController login -n 5 '1==1'
查看已经记录的请求
tt -w
重新触发请求
tt -p -i 1000(具体的请求对应的编号)
3.3 watch 监控方法,可查看入参、出参、异常
watch com.hongcheng.bigdata.startfish.controller.auth.LoginController login '{params,returnObj,throwExp}' -v -n 5 -x 3 '1==1'
watch -E .*UserInfoService getUserByUserName returnObj 'params[0]=="root"'
(单独returnObj会打印出详细的返回对象值)
命令解释:’{params,returnObj,throwExp}’ 表示观测对象,这里选择了入参、出参和异常,-n 5 表示观测到5次后停止,-x 3 表示打印观测对象的时候只打印3层嵌套结构,‘params[0]==“root”’ 为条件表达式,满足该条件的才会被观测到。
3.4trace 跟踪链路,查看当前方法体里具体调用了哪些方法
trace com.hongcheng.bigdata.startfish.controller.auth.LoginController logOut
(追踪该类的logOut方法)
trace com.hongcheng.bigdata.startfish.controller.auth.LoginController *
(追踪该类下的所有方法)