效率工具之Arthas

news/2024/7/2 23:36:24

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监控等更多使用见官网介绍


http://lihuaxi.xjx100.cn/news/307406.html

相关文章

html5期末大作业——HTML+CSS公益关爱残疾人( 6个页面)

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

C++-关键字:auto

C98 auto 早在C98标准中就存在了auto关键字,那时的auto用于声明变量为自动变量,自动变量意为拥有自动的生命期,这是多余的,因为就算不使用auto声明,变量依旧拥有自动的生命期: int a 10 ; //拥有自动生命…

【算法】排序——直接排序

内部排序的全部过程都是在内存中进行的。按排序策略的不同可以将内部排序划分为直接插入排序、冒泡排序、简单选择排序、希尔排序、快速排序、堆排序、归并排序、基数排序等。其中前三种排序方法属于简单的排序方法,其特点是排序过程直观、易于理解和实现&#xff0…

Http协议和Https协议

Http是不安全的,你的数据容易被黑客拦截,篡改,攻击 https要求对数据加密(不能明文传输), 用抓包工具抓http请求,抓出来的都是明文的,你能看得懂的,抓https请求,抓出来的…

实战-COVID-19-KSH(html+ python +django +爬虫 +pyecharts 实时疫情动态)内附MySQL详细安装配置教程

GitHub代码 Windows10 python3.7 一、MySQL配置 1.官网下载地址 2.配置初始化文件my.ini 解压后在根目录下创建my.ini文件(建立.txt-修改扩展名为.int即可) 打开my.ini文件,输入以下内容(注意需要改动2处)&#x…

Arduino开发实例-DIY风速测量及显示

DIY风速测量及显示 1、应用介绍 本次实例将使用一款具有 NPN 脉冲输出的数字风速计传感器。 NPN脉冲输出风速计效果好,性价比高。另外它仅在 5V 电源下工作。 在本次实例中,将此风速计传感器与 Arduino 板和 0.96 英寸 OLED 显示屏连接。 OLED显示屏将以米/秒为单位显示风速…

LeetCode_回溯_中等_1774.最接近目标价格的甜点成本

目录1.题目2.思路3.代码实现(Java)1.题目 你打算做甜点,现在需要购买配料。目前共有 n 种冰激凌基料和 m 种配料可供选购。而制作甜点需要遵循以下几条规则: 必须选择 一种 冰激凌基料。可以添加 一种或多种 配料,也…

[附源码]计算机毕业设计基于SpringBoot的酒店预订系统设计与实现

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…