如何具备P7般的线上诊断能力

近日,阿里巴巴低调上线了线上诊断神器 Arthas(阿尔萨斯),Github上线不到一周,star数达2550+,可见其实用性和在开发者群体中的受欢迎程度非同一般。有开发者提到,Arthas是魔兽世界的主角之一,阿里的线上监控诊断利器有点像Arthas的武器霜之哀伤,非常实用,因此获得了不少魔兽粉丝的点赞,小编觉得除了霜之哀伤,日用品一词也挺适合来形容Arthas的,这不,在Twitter上都火了,日用品这东西中美开发者都需要。

_2018_09_21_4_38_31

| Arthas能为你做什么:

当你遇到以下类似问题而束手无策时,你看到了这篇文档,看到了 Arthas,那么恭喜你,你朝正确的方向又迈了一大步。

  1. 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?
  2. 我改的代码为什么没有执行到?难道是我没 commit?分支搞错了?
  3. 遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗?
  4. 线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现!
  5. 是否有一个全局视角来查看系统的运行状况?
  6. 有什么办法可以监控到JVM的实时运行状态?

Arthas 是基于 Greys 进行二次开发的全新在线诊断工具,采用命令行交互模式,同时提供丰富的 Tab 自动补全功能,让你在定位、分析诊断问题时看每一个操作都看起来是那么的 666。

| Arthas有哪些特性:

  • 全新的Dashboard,让你一目了然的了解当前Java进程的运行状态
  • 良好的交互体验,通过Tab键自动补全,自动提示
  • 支持thread命令查看当前线程运行情况,并且查看指定线程当前的运行堆栈
  • 支持classloader命令查看当前的classloader的继承关系
  • 支持jad命令反编译class功能
  • 输出结果自适应窗口大小
  • 全平台支持,支持Windows/Mac/Linux
  • 引入全新的UI框架,优化结果展示,看起来更加清爽,同样大小的区域可以展示更多的内容

_2018_09_21_4_40_40

猜你喜欢

转载自yq.aliyun.com/articles/643425