Java 异常诊断 greys-anatomy

码农软件 · 软件分类 · 性能测试和优化 · 2019-11-27 09:12:07

软件介绍

诞生

很早的时候,我们使用BTrace排查问题,在感叹BTrace的强大之余,也曾好几次将线上系统折腾挂掉。2012年淘宝的聚石写了HouseMD,将 常用的几个Btrace脚本整合在一起形成一个独立风格的应用,但其核心代码用的是Scala,我们没这方面的编程维护经验,所以只好艳羡HouseMD 的才思敏捷而无法在其上增加功能。

于是乎,Greys诞生了。

PS:目前Greys仅支持Linux/Unix/Mac上的Java6+,Windows暂时无法支持

Greys是一个java进程执行过程中的异常诊断工具。 在不中断程序执行的情况下轻松完成问题排查工作。

和HouseMD一样,Greys-Anatomy取名同名美剧“实习医生格蕾”,目的是向前辈致敬。代码编写的时候参考了BTrace和HouseMD两个前辈的思路。

目标群体

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

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

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

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

我们的座右铭

让程序解决繁琐的事情

特性功能

交互方式

  • 命令行交互

内置功能

  • 查看加载类,方法信息

  • 方法执行监控(调用量,成功失败率,响应时间)

  • 方法执行数据观测(参数,返回结果,异常信息等)

  • 方法执行数据记录

  • 性能开销渲染

  • 方法执行数据自定义观测(js脚本)

  • 查看方法调用堆栈

软件特点

  • 纯Java实现的开源项目

  • 安装使用便捷,仅一个jar包

  • 可无需重启JVM进行CT式诊断

  • Groovy表达式展开变量,方便你查看入参、出参、异常、当前对象的各种属性细节

  • 常用分析命令集成,monitor、trace等

  • 观察变量的出入参

  • 时间隧道,tt命令能以时间维度纪录下监控期内的每一次调用环境

  • 多人并行协作

    基于C/S架构的任务模式甚至能让多人同时远程到同一进程上执行不同的指令、脚本,非常适合团队一起进行线上问题排查与跟踪。Greys采用纯Java编写并留有良好的扩展,如果你有需求,只要你会Java,就可以为你自己编写想要的功能。 Greys最有利的武器是他的ONGL表达式,能让你在感受到HouseMD集成功能便利的同时,也能发挥出自定义Btrace脚本的灵活。

    多人协作

  1. 应用管理员拥有JVM进程权限,由他来首先在目标JVM上启动Greys

  2. 技术专家A和B平时没有对应机器的权限,但只要网络能访问,他们可以通过指定ip:port直接访问目标机器的JVM进程,仿佛在本地一般

本文地址:https://www.codercto.com/soft/d/19889.html

阿里传

阿里传

波特·埃里斯曼 / 张光磊、吕靖纬、崔玉开 / 中信出版社 / 2015-9-15 / CNY 49.00

你只知道阿里巴巴故事的中国部分,而这本书会完整呈现故事的全部。 波特•埃里斯曼是阿里巴巴创业时期为数不多的外国高管。他于2000~2008年在阿里巴巴担任副总裁,这本书记录了他在阿里巴巴8年的时间里的创业故事、商业经验以及在阿里巴巴和马云、蔡崇信、关明生等阿里巴巴早期团队并肩奋战的故事。 在波特眼中,阿里巴巴的成功经验和模式是可以复制的,阿里巴巴曾经犯过的错误,走过的弯路,我们也可以绕......一起来看看 《阿里传》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具