arthas 运维工具介绍与原理分析

Arthas是一款强大的线上监控诊断工具,利用JVM TI和Instrumentation实现对应用的实时监控和问题排查。它能查看应用状态、方法调用、线程和类加载信息,提高开发效率。通过javaagent和Instrumentation接口,Arthas可以动态增强字节码,例如Watch命令,实现在运行时观察和分析代码执行。
摘要由CSDN通过智能技术生成

arthas是什么?他能帮我们做什么?

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

arthas使用举例

参考arthas wiki

arthas 实现这些功能的原理分析

arthas对jvm中的一些状态进行监控以及观察进程中执行的方法主要依赖底层JVM提供的JVM TI机制,JVMTI全称 JVM Tool Interface是 JVM 暴露出来的一些供用户扩展的接口集合。

在JAVA开发中java.lang.instrument.Instrumentation作为JVMTI的一个java语言的抽象。通过调用Instrumentation的方法来完成JVM TI提供给我们的能力。而Instrumentation的实例,只有通过javaagent的方式才能够提供给我们的程序。他们的大致关系如下图所示:
在这里插入图片描述
简单说明一下Instrumentation中的提供的能力说明:

public interface Instrumentation {
    /**
     * 注册一个Transformer&
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值