文档章节

Greys Java在线问题诊断工具

 素雷
发布于 06/22 13:29
字数 802
阅读 10
收藏 0
点赞 0
评论 0

Greys是一个JVM进程执行过程中的异常诊断工具。

在不中断程序执行的情况下轻松完成JVM相关问题排查工作

目标群体

  • 有时候突然一个问题反馈上来,需要入参才能完成定位,但恰恰没有任何日志。回去加上重新部署,一杯咖啡时间过去了,是不是很崩溃?

  • 当你经过反复这样几次折腾之后变得聪明了,在自己的代码的所有入参和出参地方都加上debug日志,但这次问题似乎暴露在别人的代码中了...是不是很无奈?

  • 突然遇到线上一个性能问题无法确定到底是哪个环节的耗时,只能反复抓jstack猜,还有没有办法可以好好的过日子啦?

遇到以上问题时,你就是我们这类工具的目标客户,此类工具能利用Java6的Instrumentation特性,动态增强你所指定的类,获取你想要到的信息。

 

 

内置主要功能

  • 查看已被JVM所加载的类、方法信息

  • 方法执行监控

    调用量,成功失败率,响应时间

  • 方法执行数据操作

    入参、返回值、异常信息记录与查看;支持动作回放

  • 性能开销渲染

    跟踪指定路径中的方法调用轨迹、耗时

  • 查看方法调用堆栈

命令清单

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

 

使用过程问题

1、$JAVA_HOME没有设置

添加JAVA_HOME环境变量

vim ~/.bashrc

在相应位置添加export JAVA_HOME=/usr/local/java

编辑完保存;

 

source ~/.bashrc即可重启greys

 

https://github.com/oldmanpushcart/greys-anatomy/wiki/greys-pdf#command-monitor

© 著作权归作者所有

共有 人打赏支持
粉丝 3
博文 230
码字总数 8686
作品 0
IBM和SAP开源其JVM诊断工具

IBM最近发布了其Java诊断工具套件,该套件包含如下工具:面向Java的产品转储分析器(Dump Analyzer)、处理垃圾收集(GC,即Garbage Collection)的Extensible Verbose Toolkit和Java锁分析器...

JavaGG
2010/03/24
0
0
使用greys-anatomy分析java使用cpu100%案例

主要使用 top (-H) jstack greys(trace,watch)(安装参考https://github.com/oldmanpushcart/greys-anatomy) 步骤如下: 一.通过top查看当前cpu的情况 top 二.通过查看进程里面的线程情况 ...

陈卓明
2017/10/18
0
0
利用 Java dump 进行 JVM 故障诊断

引言 对于大型 java 应用程序来说,再精细的测试都难以堵住所有的漏洞,即便我们在测试阶段进行了大量卓有成效的工作,很多问题还是会在生产环境下暴露出来,并且很难在测试环境中进行重现。...

candies
2014/03/03
0
0
Oracle Java Mission Control 帮助

缩写 含义 JDK Java 开发工具包 JDP Java Discovery Protocol JFR Java 飞行记录器 JMC Java Mission Control JMX Java Management Extensions JVM Java 虚拟机 MBean 托管 Bean (Java) RCP ......

光斑
04/27
0
0
WebSphere MQ v6 Java组件诊断

对于MQ的Java组件,例如MQ资源管理器(Eclipse环境)和MQ Transport for SOAP的java实施,诊断信息是使用标准的MQ诊断设施或java诊断类来输出的。此上下文的诊断信息由跟踪、首次故障数据捕获...

晨曦之光
2012/03/09
0
0
Oracle 被指在开源 JMC 后迅速解雇原开发团队

Oracle 在 5 月初宣布开源 Java 性能监控调试工具 Java Mission Control(JMC),此举赢得了 Java 开发社区热烈的掌声。JMC 是一个知名的 JVM 分析和诊断工具套件,主要针对运行在生产环境中...

王练
06/06
0
16
eclipse常用Eclipse插件介绍

以下是我整理的自己开发过程中的常用Eclipse插件: (1) AmaterasUML 介绍:Eclipse的UML插件,支持UML活动图,class图,sequence图,usecase图等;支持与Java class/interface之间的相互导入...

刘卫东
2014/09/17
0
0
开源BI工具Metabase安装

安装Metabase: Metabase是作为Java jar文件构建和打包的,可以在有Java环境的任何地方运行。下面我们提供有关如何在各种常见配置中安装和运行Metabase的详细说明。 本篇只介绍jar安装方式,...

全科
07/09
0
0
greys在线问题诊断

目标群体 有时候突然一个问题反馈上来,需要入参才能完成定位,但恰恰没有任何日志。回去加上重新部署,一杯咖啡时间过去了,是不是很崩溃? 当你经过反复这样几次折腾之后变得聪明了,在自己...

爱捣蛋的灰太狼
2017/03/01
0
0
jd-core java反编译工具

想做一个在线java反编译工具,找了http://jd.benow.ca/ http://varaneckas.com/jad/ 这两个工具。 前一个工具比较好,但是jd-core不没有提供下载。详见 http://zhouliang.pro/2010/06/26/ja...

onlyfish
2014/03/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

垃圾回收算法

一 如何判断对象可以回收 1 引用计数法 思路大概为:给对象添加一个引用计数器,每当有一个地方引用它时,计数器值加1;当引用失效时,计数器减1;任何时刻计算器为0的对象就是不可能再被使用...

sen_ye
5分钟前
0
0
Activiti简介(学习总结一)

一、介绍 activiti是使用命令模式设计基于bpmn2.0的一款开源工作流引擎。 工作流简单举例:提交请假申请->经理审批->结束。这就是一个简单流程。activiti支持用户自定义流程。配置各个流程对...

沙shasha
5分钟前
0
0
VCL界面控件DevExpress VCL Controls发布v18.1.3|附下载

DevExpress VCL Controls是 Devexpress公司旗下最老牌的用户界面套包。所包含的控件有:数据录入,图表,数据分析,导航,布局,网格,日程管理,样式,打印和工作流等,让您快速开发出完美、...

Miss_Hello_World
6分钟前
0
0
加米谷大数据培训:云计算、大数据和人工智能之间的关系

一般谈云计算的时候会提到大数据、谈人工智能的时候会提大数据、谈人工智能的时候会提云计算……感觉三者之间相辅相成又不可分割。 一、云计算最初的目标 云计算最初的目标是对资源的管理,管...

加米谷大数据
11分钟前
1
0
java集合元素的默认大小

当底层实现涉及到扩容时,容器或重新分配一段更大的连续内存(如果是离散分配则不需要重新分配,离散分配都是插入新元素时动态分配内存),要将容器原来的数据全部复制到新的内存上,这无疑使...

竹叶青出于蓝
13分钟前
1
0
Java快速开发平台,JEECG 3.7.7闪电版本发布,增加多套主流UI代码生成器模板

JEECG 3.7.7 闪电版本发布,提供5套主流UI代码生成器模板 导读 ⊙平台性能优化,速度闪电般提升 ⊙提供5套新的主流UI代码生成器模板(Bootstrap表单+BootstrapTable列表\ ElementUI列表表单)...

Jeecg
17分钟前
0
0
export 和 module.export 的区别

在浏览器端 js 里面,为了解决各模块变量冲突等问题,往往借助于 js 的闭包把左右模块相关的代码都包装在一个匿名函数里。而 Nodejs 编写模块相当的自由,开发者只需要关注 require,exports,...

孟飞阳
19分钟前
1
0
技术教育的兴起

技术教育的兴起 作者: 阮一峰 1、 有一年,我在台湾环岛旅行。 花莲的海边,我遇到一对台湾青年夫妻,带着女儿在海滩上玩。我们聊了起来。 当时,我还在高校当老师。他们问我,是否觉得台湾...

吕伯文
19分钟前
0
0
Linux服务器下的HTTP抓包分析

说到抓包分析,最简单的办法莫过于在客户端直接安装一个Wireshark或者Fiddler了,但是有时候由于客户端开发人员(可能是第三方)知识欠缺或者其它一些原因,无法顺利的在客户端进行抓包分析,...

mylxsw
24分钟前
0
0
mybatis3-javaapi

sqlSessionFactoryBuilder->sqlSessionFactory->sqlSession<-rowbound<-resultHandler myBatis uses a Java enumeration wrapper for transaction isolation levels, called TransactionIsol......

writeademo
27分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部