zoukankan      html  css  js  c++  java
  • 阿里JAVA诊断工具Arthas的初步使用

    Arthas 是Alibaba开源的Java诊断工具,主要解决以下问题:

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

    今天我们主要使用Arthas的请求追踪、反编译以及接口参数监控。

    一、Arthas的下载。

      1、先从官方git地址https://github.com/alibaba/arthas/blob/master/README_CN.md下载Arthas的jar包,然后执行java -jar 运行该jar包。如果觉得官网下载慢也可以直接在我分享的百度云盘中下载(链接: https://pan.baidu.com/s/1sTyU03uSUObOxtW4RkPkNw&shfl=shareset 提取码: drw1 )

    二、Arthas的启动。

      Arthas启动的前提是要启动你的java项目,因为Arthas启动时会自动扫描机器上运行的java项目,如下图

     三、常用命令

      1、sc 命令,这个命令能搜索出所有已经加载到 JVM 中的 Class 信息

      比如sc -d 打印该类的详细信息

      2、trace 命令,方法内部调用路径,并输出方法路径上的每个节点上耗时,可以使用该命令来检测接口里那一步耗时较多。注意:每次只能跟踪一级方法的调用链路。

       这时只需要调用接口就行,如下:

      继续追踪getLaboratoryRelationship这个接口,查看里面方法的具体耗时:

    四、watch命令,该命令能方便的观察到指定方法的调用情况。能观察到的范围为:返回值抛出异常入参。

    当然这只是Arthas的一小部分功能,如果还需要更详细的介绍,请移步官方API文档https://alibaba.github.io/arthas/index.html

     

      

  • 相关阅读:
    python 面向对象(三大特性)
    python 发红包
    python 计算器
    python 模块和包
    python 异常处理
    python 序列化模块
    python 常用模块
    esriSRGeoCS3Type Constants
    esriSRGeoCS2Type Constants
    esriSRGeoCSType Constants
  • 原文地址:https://www.cnblogs.com/Amaris-Lin/p/11719175.html
Copyright © 2011-2022 走看看