Arthas-快速使用

一、 arthas(阿尔萨斯)的基本介绍

开发人员可以尝试在测试环境或者预发环境中复现生产环境中的问题。但是,某些问题无法在不同的环境中轻松复现,甚至在重新启动后就消失了,如果您正在考虑在代码中添加一些日志以帮助解决问题,您将必须经历以下阶段:测试、预发,然后生产。这种方法效率低下,更糟糕的是,该问题可能无法解决,因为一旦 JVM 重新启动,它可能无法复现,如上文所述。Arthas 旨在解决这些问题。开发人员可以在线解决生产问题。无需 JVM 重启,无需代码更改。 Arthas 作为观察者永远不会暂停正在运行的线程。

Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。

arthas官网: https://arthas.aliyun.com/doc/

二、快速入门

2.1 安装arthas

sh 复制代码
wget https://alibaba.github.io/arthas/arthas-boot.jar

2.2 启动arthas

java 复制代码
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:反编译代码

java 复制代码
jad --source-only io.renren.modules.sys.controller.SysUserController

其他命令请见 : https://www.yuque.com/arthas-idea-plugin/help/pe6i45

相关推荐
yuanbenshidiaos1 小时前
c++---------数据类型
java·jvm·c++
向宇it1 小时前
【从零开始入门unity游戏开发之——C#篇25】C#面向对象动态多态——virtual、override 和 base 关键字、抽象类和抽象方法
java·开发语言·unity·c#·游戏引擎
Lojarro1 小时前
【Spring】Spring框架之-AOP
java·mysql·spring
莫名其妙小饼干1 小时前
网上球鞋竞拍系统|Java|SSM|VUE| 前后端分离
java·开发语言·maven·mssql
isolusion1 小时前
Springboot的创建方式
java·spring boot·后端
zjw_rp2 小时前
Spring-AOP
java·后端·spring·spring-aop
Oneforlove_twoforjob2 小时前
【Java基础面试题033】Java泛型的作用是什么?
java·开发语言
TodoCoder2 小时前
【编程思想】CopyOnWrite是如何解决高并发场景中的读写瓶颈?
java·后端·面试
向宇it2 小时前
【从零开始入门unity游戏开发之——C#篇24】C#面向对象继承——万物之父(object)、装箱和拆箱、sealed 密封类
java·开发语言·unity·c#·游戏引擎
小蜗牛慢慢爬行2 小时前
Hibernate、JPA、Spring DATA JPA、Hibernate 代理和架构
java·架构·hibernate