trace命令作用
输出方法路径上的每个节点上耗时。每次只能跟踪一级方法的调用链路。
1、trace demo.MathGame run
作用是持续打印出来,调用该方法的链路以及每步执行时间。

结果里的 #24,表示在run函数里,在源文件的第24行调用了primeFactors()函数。
[0.409579ms]表示该primeFactors方法执行的用时。
[2.069657ms]表示run方法执行的总用时。
找到耗时比较长的步骤进行优化
下图为通过jad demo.MathGame反编译类后的代码

2、如果生产该接口并发访问量比较大,可以使用如下命令进行次数限制输出
trace demo.MathGame run -n 1
表示输出一次方法trace
3、默认情况下,trace不会包含jdk里的函数调用,如果希望trace jdk里的函数,需要显式设置--skipJDKMethod false。
trace --skipJDKMethod false demo.MathGame run

本文详细介绍了Arthas的trace命令,用于追踪方法调用路径上的耗时,帮助定位性能瓶颈。内容包括:1) trace命令的基本用法,展示方法调用链路及执行时间;2) 如何限制输出次数以应对高并发场景;3) 如何开启追踪JDK方法;4) 调用耗时过滤条件设置;5) 使用正则表达式匹配多层调用。此外,还提供了接口性能调优案例链接和官方命令参考。
最低0.47元/天 解锁文章
791

被折叠的 条评论
为什么被折叠?



