arthas常用命令
- IDEA插件 arthas idea
- 退出arthas
- jad 反编译
- watch 方法执行数据观测
- trace
- monitor
https://arthas.aliyun.com/doc/
IDEA插件 arthas idea
退出arthas
# quit或者exit命令,只是退出当前的连接, Attach到目标进程上的arthas还会继续运行,端口会保持开放,下次连接时可以直接连接上
[arthas@69107]$ exit
# 完全退出arthas
[arthas@69107]$ stop
jad 反编译
[arthas@38836]$ jad java.lang.String
watch 方法执行数据观测
watch demo.MathGame primeFactors "{params,returnObj}" -x 2
watch com.ly.mp.filter.ForwardFilter doFilter "{params,returnObj}" -x 2
watch com.ly.mp.filter.ForwardFilter doFilter "{params[0].getRequestURI}" -x 2
watch com.ly.mp.filter.ForwardFilter doFilter "{params[0].getRequestURI.startsWith(\"/ly/busicen/dev/\")}" -x 2
观察表达式: {params, target, returnObj}
[x:] 指定输出结果的属性遍历深度,默认为 1
watch 命令定义了4个观察事件点,即 -b 方法调用前,-e 方法异常后,-s 方法返回后,-f 方法结束后
4个观察事件点 -b、-e、-s 默认关闭,-f 默认打开,当指定观察点被打开后,在相应事件点会对观察表达式进行求值并输出
利用arthas idea,右击方法名/ Arthas Command / Watch
生成命令
watch com.ly.mp.cloud.websiteserver.tool.controller.ToolController importExcel '{params,returnObj,throwExp}' -n 5 -x 3
trace
方法内部调用路径,并输出方法路径上的每个节点上耗时
trace com.ly.mp.cloud.websiteserver.tool.controller.ToolController importExcel -n 5 --skipJDKMethod false
monitor
monitor命令一般用于统计方法的平均耗时。
monitor com.ly.mp.cloud.websiteserver.tool.controller.ToolController importExcel -n 10 --cycle 10