Arthas 使用 watch命令 線上診斷

2021-09-25 10:33:54 字數 679 閱讀 6518

如果debug線上環境但是又沒有加日誌,怎麼辦?可以使用arthas的watch命令來診斷。

測試程式:

/**

* hello world!

* */

private void run() catch (interruptedexception e) }}

public static void main( string args ) throws ioexception

}

watch命令:

watch 全限定類名 方法名 觀察點 引數

觀察點:arthas定義了一系列的觀察點:

常用的有:

target:呼叫方法的物件例項

params:方法引數

returnobj:返回值,如果有的話

returnexp:異常,如果有的話

如果只有乙個觀察點,可以直接寫,比如:

如果有多個,需要使用ognl表示式,放在」{}「裡,使用,分割。

引數:有乙個很常用的-x n,指定觀察點的展開的層數,預設為1。如果我們想要觀察物件內部的屬性時,使用這個引數會很方便,不需要實現tostring方法。

上面的例子:

不加-x引數:

只顯示了一層。如果想看裡面的屬性,可以使用-x引數,比如-x 3:

很方便。

arthas的查詢watch方法

先附上官方文件 在生產上只能重新發版再去尋找日誌了 target 呼叫方法的物件例項 params 方法引數 returnobj 返回值,如果有的話 returnexp 異常,如果有的話 watch 包名.類名 方法名 watch com.workbench.controller.freeproce...

arthas基礎命令

當執行在ali tomcat時,會顯示當前tomcat的實時資訊,如http請求的qps,rt,錯誤數,執行緒池資訊等等。引數說明 引數名稱 引數說明 i 重新整理實時資料的時間間隔 ms 預設5000ms n 重新整理實時資料的次數 dashboard i 10000 n 2重新整理資料時間是10...

arthas的安裝和使用

1 介紹 接觸arthas,是源於被安利,可用於問題定位,學習一下。官網文件寫得很好,但如果要真正比較好地用起來,是需要真實案例不斷去嘗試學習,其他看官網 2 為什麼要用arthas 官網描述 可以類似於解決以下的一些問題,就是出現問題了,快速定位!當你遇到以下類似問題而束手無策時,arthas可以...