trace命令可以跟踪指定方法调用的耗时
trace命令只会跟踪、统计被匹配到的函数里的子调用,并不会向下trace多层
安装arthas
curl -O https://arthas.aliyun.com/arthas-boot.jar
基本使用
跟踪指定类的指定方法中的耗时
trace <全类名> <方法名>
- 跟踪com.aaron.Arthas.TestTrace类中addUserController方法的耗时
trace com.aaron.Arthas.TestTrace addUserController
- 跟踪com.aaron.Arthas.TestTrace类中addUserController方法的耗时,-n选项指定捕捉结果的次数
trace -n 5 com.aaron.Arthas.TestTrace addUserController
统计JDK方法调用
- 默认情况下,trace结果中不会对JDK方法调用进行耗时统计。故如果期望含有对JDK方法调用的耗时统计,需显式使用 「--skipJDKMethod false」 选项
trace --skipJDKMethod false com.aaron.Arthas.TestTrace addUserController
支持正则匹配
- trace命令提供了-E选项,可以通过正则表达式来匹配多个类、方法。在一定程度上可以达到实现多层trace对效果
trace -E com.aaron.Arthas.TestTrace addUserController|serviceA|serviceB
- 跟踪com.aaron.Arthas.TestTrace类中方法名以add2开头的方法耗时
trace -E com.aaron.Arthas.TestTrace add2.*