开发者社区 > 云原生 > 正文

Arthas中请教一下,在执行arthas trace 命令时其它耗时都跑哪去了呢?

Arthas中请教一下,在执行arthas trace 命令时。方法上执行耗时422ms,但下面每一个子方法执行耗时总共就6ms,,其它耗时都跑哪去了呢?ffd04a93a922cfc8f6f0cba25a5c8c10.png

展开
收起
崔问问 2023-12-08 12:04:27 81 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    这种情况可能是因为Arthas的trace命令默认只跟踪方法调用,而忽略了方法内部的其他操作,如循环、条件判断等。因此,虽然整个方法的耗时是422ms,但实际执行时间可能远小于这个值。

    要查看方法内部的具体耗时,可以尝试使用watch命令来观察方法内部的执行情况。例如:

    watch com.example.YourClass yourMethodName "{params, returnObj, throwExp}"
    

    这样,当方法被调用时,Arthas会输出方法的参数、返回值和异常信息,帮助你分析方法内部的执行情况。

    2023-12-08 13:37:42
    赞同 展开评论 打赏
  • 看下是不是跳过jdkMethod了 加个参数 --skipJDKMethod false 试试——此回答整理自钉群:Arthas开源交流群

    2023-12-08 12:13:55
    赞同 展开评论 打赏
问答分类:
问答地址:

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关电子书

更多
Arthas应用诊断利器-新特征介绍 立即下载
使用Arthas 抽丝剥茧深入应用-线上诊断利器之外 立即下载
workshop专场--容器、消息&IoT专场-开发者动手实践营-容器、消息和IoT-Java诊断利器Arthas排查问题实践 立即下载