zoukankan      html  css  js  c++  java
  • Greys学习笔记(未完待续)

    Greys介绍

    greys-anatomy是一个Java线上诊断工具,取名来自美剧<实习医生格雷>,由菜鸟-杜琨同学开发维护。比我们常用的脚本工具btrace提供更多的功能,greys采用了命令式诊断。

    安装greys

    curl -sLk http://ompc.oss.aliyuncs.com/greys/install.sh|sh
    或者
    下载 zip包 ./install_local.sh
    

    greys启动命令

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

    会话与任务

    Greys是一个C/S架构的程序,所以当Client访问到Server时,Server会维护一个session(会话),以及session的心跳、超时机制。事务(Tx)机制则是建立在session的基础上,所有的命令交互都会创建一个事务,并且产生对应的队列进行输出缓冲。

    重要命令

    命令 说明
    help 查看命令的帮助文档,每个命令和参数都有很详细的说明
    sc 查看JVM已加载的类信息
    sm 查看已加载的方法信息
    monitor 方法执行监控
    trace 渲染方法内部调用路径,并输出方法路径上的每个节点上耗时
    ptrace 强化版的trace命令。通过指定渲染路径,并可记录下路径中所有方法的入参、返值;与tt命令联动。
    watch 方法执行数据观测
    tt 方法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测
    [stack 输出当前方法被调用的调用路径
    [version 输出当前目标Java进程所加载的Greys版本号
    quit 退出greys客户端
    shutdown 关闭greys服务端
    reset 重置增强类,将被greys增强过的类全部还原
    jvm 查看当前JVM的信息

    help命令

    • 查看帮助文档
    help trace
    hlep monitor
    

    trace命令

    • trace命令可以看方法性能开销,目前支持一级调用方法的耗时追踪
    trace class-pattern method-pattern condition-express
    具体的使用方法查看 help trace
    
    • 举例
    trace *ElasticSearchService insertIndexBulk '#cost>10'
    trace *ElasticSearchService insertIndexBulk params[0].length==1
    
    trace *NovaCodec decode '#cost>200'
    
    

    ptrace命令

    • trace的增强版本,可以指定渲染的路径,还可以和tt命令联动
    ptrace lass-pattern method-pattern condition-express [-t]
    
    

    --path 可以过滤渲染的路径

    • 举例
    ptrace *ChannelBuffers dynamicBuffer --path com.alibaba.dubbo.remoting.transport.netty.NettyCodecAdapter '#cost>=1' -t
    
  • 相关阅读:
    前端mvc mvp mvvm 架构介绍(vue重构项目一)
    SPA页面缓存再优化二
    消除浏览器对input输入框的自动填充
    单页面系统的一些性能优化
    城市联动组件插件思想分析
    前端性能优化点总结
    ui-router 1.0以上的 $stateChangeStart
    (转) view视图的放大、缩小、旋转
    (转)代码中实现button
    objective-c 强弱引用、properties的学习
  • 原文地址:https://www.cnblogs.com/oldtrafford/p/6773579.html
Copyright © 2011-2022 走看看