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

Arthas中trace命令如何统计子线程中方法的耗时呢?

Arthas中trace命令如何统计子线程中方法的耗时呢?

展开
收起
小小鹿鹿鹿 2023-11-21 23:52:18 573 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在Arthas中,可以使用trace命令来跟踪和统计方法的执行时间,包括子线程中的方法。但是需要注意的是,trace命令默认不会追踪子线程,需要通过添加-s参数来开启这个功能。
    例如,如果你想要追踪类com.example.MyClass中的myMethod方法,包括其在所有线程中的调用,你可以输入以下命令:

    trace com.example.MyClass myMethod
    

    如果你想只追踪主线程的调用,可以这样输入:

    trace com.example.MyClass myMethod -t main
    

    如果你想追踪所有线程的调用,包括子线程,可以这样输入:

    trace com.example.MyClass myMethod -s
    

    另外,trace命令还可以配合其他参数一起使用,例如 -i 参数用于设置采样间隔, -c 参数用于设置采样次数等。

    2023-11-29 16:08:44
    赞同 展开评论 打赏
  • 在Arthas中,trace命令可以用来跟踪某个方法的调用链,并统计每个方法的执行时间。要统计子线程中方法的耗时,你可以在trace命令后面加上-t参数,这样就可以只跟踪线程池中的线程了。

    以下是一个示例:

    trace -t com.example.MyClass methodName
    

    在这个示例中,com.example.MyClass是你的类的完全限定名,methodName是你想要跟踪的方法的名称。

    然后,Arthas会输出每个方法的调用链和执行时间。你可以通过查看这些信息,找出耗时的部分并进行优化。

    2023-11-22 11:04:38
    赞同 展开评论 打赏

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

相关电子书

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