arthas使用之watch命令

arthas watch 观测命令

函数执行数据观测
观察表达式,默认值是{params, target, returnObj}
params 参数
target 观察的对象
returnObj 返回数据

例如:

watch com.demo.service.DempServiceImpl list
因为默认观察的为{params, target, returnObj} ,所以可以不写,或者可以写成{params,returnObj}

[x:] 指定输出结果的属性遍历深度,默认为 1,最大值是 4

watch 的参数-x :指定输出结果的属性遍历深度

例如:
watch com.demo.service.DempServiceImpl list -x 2
因为我们通常使用的返回对象不是一个简单类型,大多数是嵌套的,所以想要知道嵌套的属性就需要设置这个便利的深度

[b]、 [e]、[s]、 [f] 在函数调用前、后、异常、结束观察

[b] 在函数调用之前观察

例如:
watch com.demo.service.DempServiceImpl list -x 2 -b

[e] 在函数异常之后观察

例如:
watch com.demo.service.DempServiceImpl list -x 2 -e

[s] 在函数返回之后观察

例如:
watch com.demo.service.DempServiceImpl list -x 2 -s

[f] 在函数结束之后(正常返回和异常返回)观察

例如:
watch com.demo.service.DempServiceImpl list -x 2 -f

同时观察函数调用前和函数返回后

例如:
watch com.demo.service.DempServiceImpl list -x 2 -b -s -n 2

[m ] 指定 Class 最大匹配数量,默认值为 50。长格式为[maxMatch ]

例如:
watch com.demo.service.DempServiceImpl list -m 1

根据某些条件过滤观察

条件表达式的例子,可以过滤满足某些条件的才会观察

例如:
watch com.demo.service.DempServiceImpl list “{params[0],target}” “params[0]<0”

按照耗时进行过滤

例如:
watch com.demo.service.DempServiceImpl list ‘{params, returnObj}’ ‘#cost>200’ -x 2

观察当前对象中的属性

如果想查看函数运行前后,当前对象中的属性,可以使用target关键字,代表当前对象

例如:
watch com.demo.service.DempServiceImpl list ‘target’

然后使用target.field_name访问当前对象的某个属性

watch com.demo.service.DempServiceImpl list ‘target.illegalArgumentCount’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
OSZAR »