记录arthas使用方法
版本:3.7.2
包:
(没有看到上传的地方,先这么空着吧,网上下载一个也行)
一,如何启动arthas
找到arthas的jar,然后java -jar arthas-boot.jar
如果报错,提示
则需要指定jdk的安装路径
安装路径有很多中方式,其中一种路径:
打开idea -》 项目结构 -〉sdk
把jdk home path复制出来,在添加上:/bin
接着在启动项目:(依然是 java -jar)
/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/bin/java -jar arthas-boot.jar
二,跟踪方法
trace或watch
注意格式: trace 类全路径 方法名
在成功启动 Arthas 之后,你可以使用 trace 或 watch 命令来查看方法的执行时间。以下是如何使用这些命令的步骤:
使用 trace 命令
trace 命令用于跟踪方法调用,包括方法进入、返回和异常抛出的时间,同时会显示每个执行路径的耗时。
示例:跟踪某个类中的方法执行
bash
复制代码
trace com.example.YourClass yourMethod
com.example.YourClass:替换为你要跟踪的类的完全限定名。
yourMethod:替换为要跟踪的方法名。
这个命令会在控制台中输出该方法的调用细节,包括每次调用的执行时间。
使用 watch 命令
watch 命令用于监控方法的输入参数、返回值和执行时间。
示例:监控方法的返回值和耗时
bash
复制代码
watch com.example.YourClass yourMethod ‘{params, returnObj, #cost}’ -x 3
{params, returnObj, #cost}:定义要输出的表达式,#cost 表示方法执行时间(以毫秒为单位)。
-x 3:表示只显示正常返回的调用,-x 参数表示匹配的范围:
0:所有调用(默认)
1:仅抛出异常的调用
2:仅正常返回的调用
3:仅正常返回且抛出异常的调用
退出 Arthas
当你完成了对方法执行时间的分析,可以通过以下命令退出 Arthas:
bash
复制代码
quit
或者直接按 Ctrl + C。
注意事项
确保目标类和方法在当前运行的 Java 应用程序中存在,并且方法调用频繁,以便观察结果。
trace 和 watch 命令可能会对性能产生影响,因此建议在开发或测试环境中使用。
如果类为内部类或匿名类,确保正确使用其名称进行跟踪。
通过使用这些工具,Arthas 可以帮助你深入了解方法的性能表现,从而更好地优化代码。