上次发了一篇关于介绍阿里的Java调试神器——Arthas,见《卧槽!!又一款Java调试神器~》。
很多同学反馈,好用是好用,但是,命令记不住,好难哦~
说实话,命令说多不多,说少不少,特别是一些高级的用法,比如ognl、watch、trace等,离开文档,真的很难记住。
那有没有一种东东,可以帮我们自动生成命令参数呢?要是有的话,那就太棒了~
其实阿里的大佬们早就想到了大多数开发者的这个痛点,他们提供了一款自动生成arthas命令的IDEA 插件,并且是开源的。
目前,支持在线安装和离线安装两种方式。
有了这个插件,你只需要将光标放到具体的字段、方法或者类上面,右键选择执行的命令,部分会有弹窗提示,根据界面的操作便能获取命令,部分会直接获取命令到剪切板,自己粘贴到arthas的控制台便ok啦。
官方提供的一张图,便说明了它的强大功能。
具体怎么玩?
咱们通过trace命令来具体说明,这个命令的功能:性能优化~
调用的这个方法,走的具体流程是咋样的!可以通过调用链看出来。
有异常了可以查看异常的堆栈
1、选择需要查看性能的函数,点击鼠标右键,便会弹出arthas命令面板,见下图
2、点击Trace命令,便会把相应的命令拷贝到剪切板,命令如下
trace cn.javatiku.yp.admin.controller.IndexController getData -v -n 5 --skipJDKMethod false '1==1
3、服务器启动 Arthas Server 后,用telnet远程连接上去进程诊断,例如:
telnet 127.0.0.1 3658
我这里直接用xshell连接,避免了乱码的问题,见下图
这样便可以看到具体的性能分析了,其实我个人觉得这个插件还是挺好用的~
你想通过这个案例精通arthas是不可能的,但是入门是足够了,希望本文能对你掌握这款调试工具有所帮助~