学习arthas(十三)监视代码的执行结果
Arthasadmin 发布于:2023-10-02 16:04:03
阅读:loading
arthas watch命令是arthas工具提供的一个命令,用于在应用运行过程中观察指定方法的执行情况,可以帮助开发人员实时监视指定类和方法的调用情况。可以方便地观察到指定方法的调用与执行情况,对于代码执行的:返回值、异常、入参、this等代码范围,通过OGNL表达式进行对应代码逻辑范围上执行的应用排查。
(1)监控一个类的一个方法,跟踪参数、this对象、返回值、异常信息
watch cn.chendd.blog.admin.blog.tag.controller.TagManageController queryTagsPage
--exclude-class-pattern *CGLIB* -x 2 {params,target,returnObj,throwExp}[object Object]
(2)监控方法调用超过 100 秒以上
watch cn.chendd.blog.admin.blog.tag.controller.TagManageController queryTagsPage
--exclude-class-pattern *CGLIB* -x 2 {params,target,returnObj,throwExp} '#cost>100'
(3)根据参数值过滤
watch cn.chendd.blog.admin.blog.tag.controller.TagManageController queryTagsPage
--exclude-class-pattern *CGLIB* -x 2 {params,target,returnObj,throwExp} 'params[0].strong.name()=="yes"'
(4)根据返回值的属性进行过滤
watch cn.chendd.blog.admin.blog.tag.controller.TagManageController queryTagsPage
--exclude-class-pattern *CGLIB* -x 2 {params,target,returnObj,throwExp} 'returnObj.total > 20'
注意事项
watch命令会在应用程序中添加一个拦截器,可能会对性能产生一定的影响,因此在生产环境中使用时需谨慎。
watch命令只能观察当前JVM中的方法执行情况,对于其他JVM或远程服务器上的应用无法进行观察。
watch命令可以配合其他arthas命令一起使用,如trace、tt等,来更全面地观察和分析应用的执行情况。
点赞
发表评论
当前回复:作者
评论列表
留言区
- 开篇学习arthas啦
- 学习arthas(一)安装与入门介绍
- 学习arthas(二)Web Console控制台
- 学习arthas(三)命令大全与简单命令
- 学习arthas(四)系统命令
- 学习arthas(五)类命令
- 学习arthas(六)增强命令
- 学习arthas(七)arthas-tunnel-server的摸索
- 学习arthas(八)查找某个被加载的类
- 学习arthas(九)动态执行一些代码
- 学习arthas(十)方法执行结果监控
- 学习arthas(十一)输出方法调用栈
- 学习arthas(十二)跟踪方法代码的执行
- 学习arthas(十四)方法执行时的时空隧道
- 学习arthas(十五)无侵入的热部署
- 学习arthas(十六)热点功能火焰图