一、 arthas(阿尔萨斯)的基本介绍
开发人员可以尝试在测试环境或者预发环境中复现生产环境中的问题。但是,某些问题无法在不同的环境中轻松复现,甚至在重新启动后就消失了,如果您正在考虑在代码中添加一些日志以帮助解决问题,您将必须经历以下阶段:测试、预发,然后生产。这种方法效率低下,更糟糕的是,该问题可能无法解决,因为一旦 JVM 重新启动,它可能无法复现,如上文所述。Arthas 旨在解决这些问题。开发人员可以在线解决生产问题。无需 JVM 重启,无需代码更改。 Arthas 作为观察者永远不会暂停正在运行的线程。
Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。
arthas官网: https://arthas.aliyun.com/doc/
二、快速入门
2.1 安装arthas
wget https://alibaba.github.io/arthas/arthas-boot.jar
2.2 启动arthas
java -jar arthas-boot.jar
输入进程对应编号,进入Arthas的命令交互界面即可使
一些arthas命令想深入学习可以移步到官网,我们介绍配合idea使用快捷工具。
三、arthas idea 安装
3.1 idea中安装 arthas idea 插件
接下来我们就可以打开服务jar的代码测试一下
3.2 使用arthas插件操作命令
1.Watch: 查看方法返回值
在idea方法中右击,选择 Arthas Command —> Watch ,点击后,自动复制
在xshell中粘贴
回车之后就可以调用接口
2、trace:根据路径追踪,并记录消耗时间
3、jad:反编译代码
jad --source-only io.renren.modules.sys.controller.SysUserController
其他命令请见 : https://www.yuque.com/arthas-idea-plugin/help/pe6i45