zoukankan      html  css  js  c++  java
  • Java诊断工具Arthas

    Java诊断工具Arthas

    1. Arthas简介

    Arthas是阿里开源的一个线上java诊断工具,发现阿里还是挺喜欢开源一些技术的,造福人类。昨天试用了一下,发现真是强大,解决了我工作两年的很多困扰,有点相见恨晚的感觉。

    根据官网的说明,它能解决下面的问题:

    当你遇到以下类似问题而束手无策时,Arthas可以帮助你解决:

    1. 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
    2. 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
    3. 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
    4. 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
    5. 是否有一个全局视角来查看系统的运行状况?
    6. 有什么办法可以监控到JVM的实时运行状态?

    Arthas采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,进一步方便进行问题的定位和诊断。

    2. Arthas安装

    在Linux下直接执行curl -L https://alibaba.github.io/arthas/install.sh | sh,然后执行./as.sh就可以进入到Arthas的命令行界面。

    3. Arthas试用

    安装完后试用了它的监控相关的功能,以后调试就不那么麻烦了。

    3.1 monitor命令

    monitor可以对某个类的某个方法进行周期性监控,来输出方法的平均响应时间,成功失败次数,调用次数等。具体使用请见:https://alibaba.github.io/art...

    3.2 watch命令

    watch可以监控某个方法的出入参,异常信息等,具体使用请见:https://alibaba.github.io/art...

    3.3 trace命令

    trace可以输出方法内部调用关系,并打印方法内部每个调用的耗时,具体使用请见:https://alibaba.github.io/art...

    3.4 stack命令

    stack可以输出方法的整个调用路径,具体使用请见:https://alibaba.github.io/art...

    3.5 tt命令

    记录方法每次的调用出入参和异常信息,并且完整保留调用现场,可以再次模拟调用。具体使用请见:https://alibaba.github.io/art...

    当然除此之外还有很丰富的其他功能,比如JVM,ClassLoader相关的命令。

  • 相关阅读:
    「 HDU P3336 」 Count the string
    Luogu P4016 「 网络流 24 题 」负载平衡问题
    『 学习笔记 』网络最大流
    Luogu P4014 「 网络流 24 题 」分配问题
    Loj #6000.「 网络流 24 题 」搭配飞行员
    牛客练习赛25 C 再编号
    线段树--从入门到入土
    网络流学习--费用流
    网络流--最大流
    五校联考解题报告
  • 原文地址:https://www.cnblogs.com/qixidi/p/10085434.html
Copyright © 2011-2022 走看看