效率工具之Arthas

Arthas

阿里巴巴开源的Java诊断工具;追踪方法执行链、反编译、监控JVM状态

在线安装

使用

1. trace 跟踪调用链

解决痛点:定位问题根据日志推理分析,方法出入参不可见,分支判断太多情况下 定位很慢,分析出可能有问题的点还要多次验证才能确认问题点。使用trace 一行命令即可获取方法执行链,对照代码稍加分析即可准确定位问题。

trace 类全限定名 方法名 [-n 1]
# 类全限定名获取参照下图2

效果展示:打印方法执行链,快速确定分支及执行逻辑
在这里插入图片描述

tips:IDEA获取方法全限定名
在这里插入图片描述

2. watch 查看方法出入参

解决痛点:很多时候某个方法出入参没有打印,阻塞问题定位,需要添加日志查看出入参或者验证出入参是否预期值 -> 再推包部署 -> 验证完之后再删除日志 -> 重新提交代码。使用Arthas一行命令即可,避免阻塞及推包部署过程的麻烦,极大提升效率。

watch 类全限定名 方法名 '{params,returnObj}' -x 4
  • 还可以根据指定参数过滤请求
# 观察用户ID为9的请求
watch 类全限定名 getUser "{params,returnObj}" "params[1]==9" -x 2

getUser方法如下
private User getuser(String name, Integer id){

}

3. jad 反编译

解决痛点:修改的代码没有生效,不知道是逻辑问题还是修改的代码没有部署成功的时候,可以通过jad 反编译快速验证。
在这里插入图片描述

在线安装

# 1. 下载 (内网使用离线安装)
curl -O "https://alibaba.github.io/arthas/arthas-boot.jar"
# 位置: /root/.arthas/lib/3.6.7/arthas

# 2.检测java进程 (需要与目标进程启动用户相同) 
java -jar arthas-boot.jar --repo-mirror aliyun --use-http
# --repo-mirror aliyun --use-http 使用阿里镜像(提速)
# 首次选择会下载依赖,并进入arthas

启动成功
在这里插入图片描述

更多

JVM监控等更多使用见官网介绍

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值