為應用安裝探針後,CloudMonitor2.0即可開始監控應用,您可以在異常分析頁面按照異常名稱、介面名稱、主機對異常次數、異常列表進行篩選分析,最佳化產生異常的代碼。
什麼是異常
在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; }
前提條件
已將應用接入CloudMonitor2.0。
功能體驗
阿里雲Playground提供了CloudMonitor2.0主要功能的示範環境,便於您快速瞭解及體驗CloudMonitor2.0。
請訪問 Playground Demo 示範環境,預設進入工作空間:
o11y-demo-cn-hangzhou。在左側導覽列選擇。
查看異常分析
登入CloudMonitor2.0控制台,選擇目標工作空間,在左側導覽列選擇。
在應用列表頁面單擊目標應用程式名稱,然後在頂部導覽列選擇。
在快捷篩選區域,您可以按異常名稱、介面名稱、執行個體對異常次數、異常列表進行篩選過濾。
在趨勢圖地區,您可以查看應用在指定時間範圍拋出該異常的次數,按照異常做堆疊展示。
在異常列表地區,您可以查看異常介面的名稱、異常次數、佔比、異常堆棧等資訊。
在異常列表,您可以執行以下操作:
單擊操作列的概覽,可以查看該異常的異常數趨勢、介面和執行個體維度異常分布、異常堆棧等概覽資訊。
單擊操作列的調用鏈,可以查看該調用的鏈路詳情。