如何具備P7般的線上診斷能力
近日,阿里巴巴低調上線了線上診斷神器 Arthas(阿爾薩斯),Github上線不到一週,star數達2550+,可見其實用性和在開發者群體中的受歡迎程度非同一般。有開發者提到,Arthas是魔獸世界的主角之一,阿里的線上監控診斷利器有點像Arthas的武器霜之哀傷,非常實用,因此獲得了不少魔獸粉絲的點贊,小編覺得除了霜之哀傷,日用品一詞也挺適合來形容Arthas的,這不,在Twitter上都火了,日用品這東西中美開發者都需要。
| Arthas能為你做什麼:
當你遇到以下類似問題而束手無策時,你看到了這篇文件,看到了 Arthas,那麼恭喜你,你朝正確的方向又邁了一大步。
- 這個類從哪個 jar 包載入的?為什麼會報各種類相關的 Exception?
- 我改的程式碼為什麼沒有執行到?難道是我沒 commit?分支搞錯了?
- 遇到問題無法在線上 debug,難道只能通過加日誌再重新發布嗎?
- 線上遇到某個使用者的資料處理有問題,但線上同樣無法 debug,線下無法重現!
- 是否有一個全域性視角來檢視系統的執行狀況?
- 有什麼辦法可以監控到JVM的實時執行狀態?
Arthas 是基於 Greys 進行二次開發的全新線上診斷工具,採用命令列互動模式,同時提供豐富的 Tab 自動補全功能,讓你在定位、分析診斷問題時看每一個操作都看起來是那麼的 666。
| Arthas有哪些特性:
- 全新的Dashboard,讓你一目瞭然的瞭解當前Java程序的執行狀態
- 良好的互動體驗,通過Tab鍵自動補全,自動提示
- 支援thread命令檢視當前執行緒執行情況,並且檢視指定執行緒當前的執行堆疊
- 支援classloader命令檢視當前的classloader的繼承關係
- 支援jad命令反編譯class功能
- 輸出結果自適應視窗大小
- 全平臺支援,支援Windows/Mac/Linux
- 引入全新的UI框架,優化結果展示,看起來更加清爽,同樣大小的區域可以展示更多的內容