Arthas 服务监控-watch-trace

Watch

 

Watch:观察指定路径方法的调用情况

 

作用:

 

方法执行数据监测,让你能方便的观察到指定的方法的掉用情况

 

能观察到的范围:返回值、抛出异常、入参、通过编写OGNL表达式进行对应变量的查看

 

Watch xxx.xxx.xxx.controller.StartAppImg xx (方法名

 

 命令:watch com.xxx.xxx.controller.Test list

查看list方法的调用详细情况

 Watch 路径.类名 方法名

观察 指定路径xxx.方法 (ognl表达式)“{参数,返回值}-x 2 属性遍历深度  

watch com.xxx.xxx.controller test {params,returnObj}” -x 2

 

通过 target 获取所有2级属性

 watch com.xxx.xxx.xxx.controller.test list "target" -x 2 -b

 

通过target获取指定属性值

 

获取方法前后的返回值

 

 

 

 

trace

作用:

Trace 命令能主动搜索class-pattern/method-pattern 对应的方法调用路径,渲染和统计整个调用链路上的所有性能开销和追踪链路

观察表达式的构成主要由OGNL表达式组成,所以你可以这样写{params,returnObj},只要是一个和法的OGNL表达式,就都能被正常支持

很多时候我们只想看到某个方法的rt大于某个时间之后的trace结果,现在arthas可以按照方法执行的耗时进行过滤,例如 trace StringUtils isBlank #cost>100’”,表示当执行时间超过100ms时候才会输出trace的结果

 

trace com.xxx.xxx.xx.controller.StartAppImgController list

查看指定路径方法节点的耗时时间

trace com.xxx.xxx.xxx.controller.StartAppImgController list -n 3

查看指定路径方法节点的耗时时间 并设置命令执行次数

trace com.xxx.xxx.xxx.controller.StartAppImgController list "#cost > .5"

查看指定路径方法节点的耗时时间 过滤大于0.5秒的

 

 

 

Stack

 

获取方法的调用路径

Stack com.xxx.xxx.xxx.controller.StartAppImgController list

 

方法参数小于0时追踪方法路径 执行2

Stack com.xxx.xxx.xxx.controller.StartAppImgController list  ‘params[0]<0’  -n 2

 

追踪大于执行时间0.5 的方法

Stack com.xxx.xxx.xxx.controller.StartAppImgController list  ‘#cost>0.5

 

posted @ 2021-11-17 10:02  RunawayProgrammer  阅读(1281)  评论(0编辑  收藏  举报