Arthas 学习

arthas

 查看程序调用出入参  

watch com.xx.evaluate.task.api.EvaluationTaskApiTest demoTask "{params,returnObj}" -x 3




只输出我们自己请求的日志,params[0]=='10' 

watch  com.xx.evaluate.task.api.EvaluationTaskApiTest demoTask "{params,returnObj}" "params[ 0]=='10'" -x 3




同时观察函数调用前和函数返回后    -n 2 只观察二次
watch com.xx.evaluate.task.api.EvaluationTaskApiTest demoTask "{params,target,returnObj}" -x 2 -b -s -n 2


观察异常信息的例子
watch com.xx.evaluate.task.api.EvaluationTaskApiTest demoTask "{params,throwExp}" -e -x 2


按照耗时进行过滤
watch com.xx.evaluate.task.api.EvaluationTaskApiTest demoTask '{params, returnObj}' '#cost>200' -x 2

追踪方法堆栈调用时间 

trace com.XX.aems.evaluate.task.api.EvaluationTaskApiTest demoTask



#追踪耗时700ms以上的请求,在方法中哪一步执行比较耗时

trace com.xxx.evaluate.task.api.EvaluationTaskApiTest demoTask "#cost>700"


#重复第一步逐层追踪,也可以用下面正则表达式同时追踪多个方法

trace -E com.xx.aems.evaluate.task.api.EvaluationTaskApiTest|com.xx.aems.evaluate.task.api.EvaluationTaskApiTest demoOne|demoTask "#cost>700"

 查看方法被调用路径

stack com.xxx.aems.evaluate.task.api.EvaluationTaskApiTest demoTask



 查看方法被调用路径  限定次数

stack com.xxx.aems.evaluate.task.api.EvaluationTaskApiTest demoTask -n 2
以3秒为一个时间窗口,统计时间窗口内调用次数,成功次数,失败次数,平时RT时间。用于监控方法的执行情况

-c 3   以3秒为一个时间窗口

 monitor -c 3 com.xxx.evaluate.task.api.EvaluationTaskApiTest demoTask

火焰图

profiler start,启动,默认是生成cpu的火焰图,which event to trace (cpu, alloc, lock, cache-misses etc.), default value is cpu

profiler stop,停止,可以看到生成的svg文件路径


#查看SQL
watch java.sql.Statement execute* '{params, target}' -x 3 '#cost>50'

#追踪耗时超过20ms时,获取连接的执行步骤中哪一步耗时高
trace javax.sql.DataSource getConnection '#cost>20' 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值