美文网首页javatool
java 运行排查工具 greys

java 运行排查工具 greys

作者: 扣鼻屎的猪 | 来源:发表于2016-08-19 16:11 被阅读1094次

    什么情况使用greys

    1. 没有记录入参出参?
    2. 没有记录方法耗时,只能通过jstack猜?

    greys可以帮你解决这个问题。

    安装方法:

    curl -sLk http://ompc.oss.aliyuncs.com/greys/install.sh|sh
    

    加入到$PATH中可方便调用

    连接到greys

    greys.sh <PID>[@IP:PORT]

    使用help 查看所有的命令

    所有命令
    help $command
    可以查看具体的命令使用方式 sc

    command

    sc

    查看加载的类:

      查看加载的所有的String类
      sc -E .*String
    
    正则匹配String类
    查看类的加载路径和加载器
    sc -d org.apache.xerces.xni.XMLString
    
    查看类的加载路径和加载器

    sm

    查看类的方法,功能与上类似。不再赘述。

    monitor

    monitor -c 5 com.alitrip.trade.ttp.EnvListener testFun
    

    |timestamp| class | method |total | success|fail |rt |fail-rate|
    | -------- | -----: | :----: |
    |时间戳| Java类 | 方法 |调用次数|成功次数|失败次数|平均RT|失败率 |

    方法执行时间

    trace

    trace能方便的帮助你定位和发现因RT高而导致的性能问题缺陷
    trace class-pattern   method-pattern
    
    trace性能定位

    [101,101ms]的含义,101所代表的含义是:当前节点的整体耗时;
    101的含义是:当前节点在当前步骤的耗时;两者之间用逗号分割,单位为毫秒。
    只能追踪一层调用的时间

    ptrace

      ptrace -t class-pattern   method-pattern
    
    参数 作用
    [t] 显示出所有的入参返回值

    剩余的与trace类似

    watch

    watch命令能方便的让你观察到指定方法的调用情况。
    能观察到的范围为:

    • 返回值
    • 抛出异常
    • 入参
     watch [-b] class-pattern   method-pattern expression
    

    [b]:在方法调用之前观察
    [e]:在方法抛出异常之后环节观察
    [s]:在方法正常返回之后环节观察
    [f]:在方法结束之后(正常返回和异常返回)环节观察
    e.g 查看抛出异常方法的入参:

    watch -f -x 1 com.alitrip.trade.trp.dal.dao.impl.TripTrpApplyDAOImpl getTripTrpApplyList 'params[0]'
    

    相关文章

      网友评论

        本文标题:java 运行排查工具 greys

        本文链接:https://www.haomeiwen.com/subject/pyxvsttx.html