1.下载arthas
进入官网下载页,链接:下载 | arthas (aliyun.com)
点击如图位置下载最新arthas
下载后将压缩包解压得到如图文件结构
2.上传到CentOS服务器
方式有很多
方式1:使用MobaXterm工具SSH连接到服务器,将arthas整个文件目录上传到任意位置(建议,因为MobaXterm免费且等同于是Xftp、Xshell的整合工具,功能全面)
方式2:使用Xftp工具
方式3:若服务器使用宝塔面板或其他面板,直接在文件导航栏上传
我上传的位置为如下图:
3.使用arthas
进入arthas目录,用命令java -jar arthas-boot.jar启动arthas,如图:
启动成功后,显示如图,其中tbs-0.0.1-SNAPSHOT.jar是我的一个已经启动中的java项目,这个网站项目大家是可以访问到的土拨鼠资源网
这个项目的左边的序号是[1],我们输入1,然后按下enter键进入,显示如下图:
然后就可以开始使用arthas来诊断我们的java项目了
4.以诊断java项目验证码初始化接口调用耗时为例
在土拨鼠资源网http://tbs123.xyz的注册功能中,有一个验证码图片初始化接口,界面和源码如下:
/**
* 注册验证码生成
* @param request
* @param resp
* @throws IOException
*/
@GetMapping("initVerifyCode")
public void initVerifyCode(HttpServletRequest request, HttpServletResponse resp, @RequestParam("ip")String ip) throws IOException {
VerifyCodeUtil code = new VerifyCodeUtil();
BufferedImage image = code.getImage();
String text = code.getText();
Object json = JSONObject.toJSON(text);
redisUtil.set(ip, json);
redisUtil.expire(ip,300);
VerifyCodeUtil.output(image,resp.getOutputStream());
}
通过包结构可以看到此接口路径为tbs.controller.UsersController.initVerifyCode,接口包路径如图:
回到arthas控制台,输入命令tbs.controller.UsersController initVerifyCode然后enter回车可以看到arthas现在是处于一个监听接口的状态,如图:
回到土拨鼠资源网注册页面,我们在当前页面刷新下浏览器,让验证码图片重新初始化下,再回到arthas的控制台面板可以看到接口方法耗时的诊断监听,如图:
5.总结
有时候,项目在本地没什么问题,一但上线,问题就有了,懵逼的我认为arthas是一个非常优秀的上线项目诊断观察者。
最后附上笔者的源码网->土拨鼠资源网 https://www.tbszyw.com