JVM进程执行过程中的异常诊断工具-Greys
来源:互联网 发布:淘宝卖家寄快递 编辑:程序博客网 时间:2024/05/17 00:12
JVM进程执行过程中的异常诊断工具-Greys
一、简介
我们平时在线上或者开发中会遇到各种性能、功能等问题,在运行过程中需要查看方法入参、返回值,或者方法执行的堆栈时间,或者jar冲突时类加载来自那个jar包等问题。我们在开发过程中,可能会打印log日志、手动去打印入参、返回值等,或者自己实现简单的profile方法,代码侵入性大且效率较低;另外我们可以使用类似btrace工具去跟踪,这需要自己去实现btrace脚本,服务端需要启动agent,也有点小麻烦。后来淘宝聚石用scala写了个houseMD,但只支持到jdk1.6,后续也没有更新了;后面又有淘宝同学借鉴了btrace和houseMD,写了Greys,方便定位常见的java问题,下面简单介绍其使用方法。
下载地址:http://ompc.oss.aliyuncs.com/greys/release/greys-1.7.6.4-bin.zip
二、安装
a. 解压greys-1.7.6.4-bin.zip,目录结构如下
-rwxr-xr-x. 1 admin admin 1047 11月 7 11:54 ga.sh-rw-r--r--. 1 admin admin 10595 11月 7 11:54 greys-agent.jar-rw-r--r--. 1 admin admin 3472230 11月 7 11:54 greys-core.jar-rwxr-xr-x. 1 admin admin 7972 11月 7 11:54 greys.sh-rwxr-xr-x. 1 admin admin 2927 11月 7 11:54 gs.sh-rwxr-xr-x. 1 admin admin 683 11月 7 11:54 install-local.sh
b. 安装
cd greyssh ./install-local.sh
三、待监控应用启动agent
pid为应用进程号
./ga.sh pid
三、应用监控控制客户端
pid 为应用进程号, ip为应用所在机器, 3658为agent默认端口号
./greys.sh pid@ip:3658
或者远程访问
./gs.sh ip
四、Greys命令详解
示列:
tt -t -n 100 *UserServiceImpl queryById+----------+------------+----------------------+------------+----------+----------+-----------------+--------------------------------+--------------------------------+| INDEX | PROCESS-ID | TIMESTAMP | COST(ms) | IS-RET | IS-EXP | OBJECT | CLASS | METHOD |+----------+------------+----------------------+------------+----------+----------+-----------------+--------------------------------+--------------------------------+| 1001 | 1001 | 2017-03-08 15:39:11 | 10 | true | false | 0x7204ebf1 | UserServiceImpl | queryById |+----------+------------+----------------------+------------+----------+----------+-----------------+--------------------------------+--------------------------------+| 1002 | 1002 | 2017-03-08 15:39:12 | 6 | true | false | 0x7204ebf1 | UserServiceImpl | queryById |+----------+------------+----------------------+------------+----------+----------+-----------------+--------------------------------+--------------------------------+| 1003 | 1003 | 2017-03-08 15:39:12 | 5 | true | false | 0x7204ebf1 | UserServiceImpl | queryById |+----------+------------+----------------------+------------+----------+----------+-----------------+--------------------------------+--------------------------------+| 1004 | 1004 | 2017-03-08 15:39:13 | 6 | true | false | 0x7204ebf1 | UserServiceImpl | queryById |+----------+------------+----------------------+------------+----------+----------+-----------------+--------------------------------+--------------------------------+| 1005 | 1005 | 2017-03-08 15:39:48 | 6 | true | false | 0x7204ebf1 | UserServiceImpl | queryById |+----------+------------+----------------------+------------+----------+----------+-----------------+--------------------------------+--------------------------------+| 1006 | 1006 | 2017-03-08 15:39:48 | 5 | true | false | 0x7204ebf1 | UserServiceImpl | queryById |+----------+------------+----------------------+------------+----------+----------+-----------------+--------------------------------+--------------------------------+| 1007 | 1007 | 2017-03-08 15:39:49 | 4 | true | false | 0x7204ebf1 | UserServiceImpl | queryById |+----------+------------+----------------------+------------+----------+----------+-----------------+--------------------------------+--------------------------------+| 1008 | 1008 | 2017-03-08 15:39:49 | 5 | true | false | 0x7204ebf1 | UserServiceImpl | queryById |
具体使用详见:https://github.com/oldmanpushcart/greys-anatomy/wiki/greys-pdf
0 0
- JVM进程执行过程中的异常诊断工具-Greys
- JVM(9)--Java 诊断工具:greys-anatomy
- Greys Java在线问题诊断工具
- 类在JVM中的执行过程
- greys
- JVM异常查看工具
- 记一次greys查问题过程
- 基于JVM的异常诊断和性能调优
- 基于JVM的异常诊断和性能调优
- (进程)处理过程中的Linux:从执行到退出
- 进程的执行过程
- IBM和SAP宣布将开源其JVM诊断工具
- jvm查看诊断工具-jstat,jmap,jinfo,jps,jstack
- IBM和SAP开源其JVM诊断工具
- 【总结】性能调优:JVM内存诊断工具
- Linux环境下使用JVM诊断工具排查问题
- JVM执行引擎的执行过程
- 内存不足导致OpenStack进程异常的诊断和思考
- RecyclerView
- Python中的sort()方法
- 2017最新外卖人网上订餐v8.54多城市版(PC订餐+微信订餐+手机版订餐三网通): 含独立分站后台管理系统+配送宝+代客下单系统,全开源,无任何限制
- SQLServer 存储过程 带事务处理实例(四)
- 调和级数
- JVM进程执行过程中的异常诊断工具-Greys
- ps切图技巧、基础工具,使用方法总结
- 自定义View实现loading动画加载
- redis(三)积累-基本的取值和设值
- leetcode_middle_70_331. Verify Preorder Serialization of a Binary Tree
- 关于程序耦合问题
- Activity的启动过程
- leetcode 404. Sum of Left Leaves
- x的x次幂