本文說明如何查看異常分析,從而瞭解應用的異常情況。
什麼是異常
在ARMS的異常分析功能中,預設情況下,ARMS僅可以採集到被埋點方法拋出的異常,但在使用者的實際業務中,可能一次介面調用記錄不到異常或者記錄一個或多個異常。
例如,假設ARMS探針當前對public void methodA 和public void methodB兩個方法進行了埋點,且兩個方法互相有調用關係,則在下述情境下,ARMS記錄的異常會有所差異。
情境1:methodA、methodB 各自捕獲異常並列印。
這種情境下,ARMS監控不到任何異常。
public int methodA() { try { return methodB(); } catch (Throwable e) { e.printStackTrace(); return 0; } } public int methodB() { try { return 1 / 0; } catch (Throwable e) { e.printStackTrace(); return 0; } }情境2:methodA捕獲異常並列印,methodB拋出異常。
這種情境下,ARMS可以監控到一個
java.lang.ArithmeticException。public int methodA() { try { return methodB(); } catch (Throwable e) { e.printStackTrace(); return 0; } } public int methodB() { return 1 / 0; }情境3:methodA、methodB各自拋出異常。
這種情境下,ARMS可以監控到兩個
java.lang.ArithmeticException。public int methodA() { return methodB(); } public int methodB() { return 1 / 0; }情境4:methodA封裝並拋出異常、methodB拋出異常。
這種情境下,ARMS可以監控到一個
java.lang.ArithmeticException和一個java.lang.RuntimeException。public static int methodA() { try { return methodB(); } catch (Throwable e) { throw new RuntimeException(e); } } public static int methodB() { return 1 / 0; }
前提條件
功能入口
登入ARMS控制台,在左側導覽列選擇。
在應用列表頁面頂部選擇目標地區,然後單擊目標應用程式名稱。
說明語言列的表徵圖含義如下:
:接入應用監控的Java應用。
:接入應用監控的Golang應用。
:接入應用監控的Python應用。-:接入Managed Service for OpenTelemetry的應用。
在左側導覽列單擊應用詳情。
在應用詳情頁面,選擇應用執行個體,設定時間段,單擊異常分析頁簽。

異常統計
異常統計地區顯示該應用在指定時間段的異常的堆積柱狀圖和異常列表。
可選:在異常統計地區,您可以執行以下操作:
將游標移到統計圖上,查看統計情況。
使用游標選中一段時間,查看指定時間段的統計情況。
單擊
表徵圖,查看該指標在某個時間段的統計情況或對比不同日期同一時間段的統計情況。單擊
表徵圖,查看該指標的API詳情。
異常列表
異常列表顯示該應用在指定時間段的所有異常。
可選:在異常列表的操作列,您可以執行以下操作:
如果要過濾異常,在的異常過濾文字框設定。
單擊調用統計查看該異常的堆積柱狀圖。
單擊調用鏈查詢查看該異常介面的調用鏈詳情。
更多資訊,請參見調用鏈查詢。
單擊詳情查看該異常的詳細資料。