线上系统为何经常出错?数据库为何屡遭黑手?业务调用为何频频失败?连环异常堆栈案,究竟是那次调用所为? 数百台服务器意外雪崩背后又隐藏着什么?是软件的扭曲还是硬件的沦丧? 走进科学带你了解Greys, Java线上问题诊断工具。
-
远程安装
curl -sLk http://ompc.oss.aliyuncs.com/greys/install.sh|sh
-
远程安装(短链接)
curl -sLk http://t.cn/R2QbHFc|sh
-
contation-express增加
#cost
变量,影响命令stack
、watch
PS:其它命令其实很早就支持用
#cost
变量作为拦截过滤的条件,单位ms
,stack
、watch
这两个命令属于遗漏这次修复 -
ptrace
、trace
、watch
、tt
等命令增加对中间件跟踪号的支持在很多大公司中,会有比较多的中间件调用链路渲染技术用来记录和支撑分布式调用场景下的系统串联,用于串联各个系统调用的一般是一个全局唯一的跟踪号。在阿里巴巴中间件中,我们用的是EagleEye
主版本
.大版本
.小版本
.漏洞修复
-
主版本
这个版本更新说明程序架构体系进行了重大升级,比如之前的0.1版升级到1.0版本,整个软件的架构从单机版升级到了SOCKET多机版。并将Greys的性质进行的确定:Java版的HouseMD,但要比前辈们更强。
-
大版本
程序的架构设计进行重大改造,但不影响用户对这款软件的定位。
-
小版本
增加新的命令和功能
-
漏洞修复
对现有版本进行漏洞修复和增强
-
主版本
、大版本
、之间不做任何向下兼容的承诺,即0.1
版本的Client不保证一定能正常访问1.0
版本的Server。 -
小版本
不兼容的版本会在版本升级中指出 -
漏洞修复
保证向下兼容
-
-
打开终端
git clone git@github.com:oldmanpushcart/greys-anatomy.git cd greys-anatomy/bin ./greys-packages.sh
-
程序执行
在
target/
目录下生成对应版本的release文件,比如当前版本是1.7.0.4
,则生成文件target/greys-1.7.0.4-bin.zip
程序在本地编译时会主动在本地安装当前编译的版本,所以编译完成后即相当在本地完成了安装。
我编写和维护这款软件已经5年了,5年中Greys也从0.1
版本一直重构到现在的1.7
。在这个过程中我得到了许多人的帮助与建议,并在年底我计划发布2.0
版本,将开放Greys的底层通讯协议,支持websocket访问。
多年的问题排查经验我没有过多的分享,一个Java程序员个中的苦闷也无从分享,一切我都融入到了这款软件的命令中,希望这些沉淀能帮助到可能需要到的你少走一些弯路,同时我也非常期待你们对她的反馈,这样我将感到非常开心和有成就感。
Greys的成长需要大家的帮助。
-
分享你使用Greys的经验
我非常希望能得到大家的使用反馈和经验分享,如果你有,请将分享文章敏感信息脱敏之后邮件给我:oldmanpushcart@gmail.com,我将会分享给更多的同行。
-
帮助我完善代码或文档
一款软件再好,也需要详细的帮助文档;一款软件再完善,也有很多坑要埋。今天我的精力非常有限,希望能得到大家共同的帮助。
-
如果你喜欢这款软件,欢迎打赏一杯咖啡
嗯,说实话,我是指望用这招来买辆玛莎拉蒂...当然是个玩笑~你们的鼓励将会是我的动力,钱不在乎多少,重要的是我将能从中得到大家善意的反馈,这将会是我继续前进的动力。
有问题阿里同事可以通过旺旺找到我,阿里外的同事可以通过我的微博联系到我。今晚的杭州大雪纷飞,明天西湖应该非常的美丽,大家晚安。
菜鸟-杜琨(dukun@alibaba-inc.com)