天天看點

如何具備P7般的線上診斷能力

近日,阿裡巴巴低調上線了線上診斷神器 Arthas(阿爾薩斯),Github上線不到一周,star數達2550+,可見其實用性和在開發者群體中的受歡迎程度非同一般。有開發者提到,Arthas是魔獸世界的主角之一,阿裡的線上監控診斷利器有點像Arthas的武器霜之哀傷,非常實用,是以獲得了不少魔獸粉絲的點贊,小編覺得除了霜之哀傷,日用品一詞也挺适合來形容Arthas的,這不,在Twitter上都火了,日用品這東西中美開發者都需要。

如何具備P7般的線上診斷能力

| 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架構,優化結果展示,看起來更加清爽,同樣大小的區域可以展示更多的内容
如何具備P7般的線上診斷能力

繼續閱讀