すべてのプロダクト
Search
ドキュメントセンター

Application Real-Time Monitoring Service:例外分析

最終更新日:May 27, 2025

Application Real-Time Monitoring Service (ARMS) のアプリケーションモニタリングは、例外分析機能を提供します。この機能は、try-catch ブロックからエスケープする未捕捉の Java 例外 (発生頻度やコードによってスローされたか、ランタイムエラーによって返されたかに関係なく) を記録し、コードの修正を可能にします。

シナリオ

ARMS は、例外が try-catch ブロックの外に伝播する場合にのみ例外を記録します。 ARMS エージェントが public void methodApublic void methodB をインストラメントしており、互いに呼び出していると仮定します。

  • シナリオ 1: 両方のメソッドが例外をキャッチします。

        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;
            }
        }

    結果: 例外は try-catch ブロック内でキャッチされて処理されるため、ARMS は例外を記録しません。

  • シナリオ 2: methodA は例外をキャッチしますが、methodB は例外を返します。

        public int methodA() {
            try {
                return methodB();
            } catch (Throwable e) {
                e.printStackTrace();
                return 0;
            }
        }
    
        public int methodB() {
            return 1 / 0;
        }

    結果: ARMS は 1 つの java.lang.ArithmeticException 例外 ( methodB で未捕捉) を記録します。

  • シナリオ 3: 両方のメソッドが例外を返します。

        public int methodA() {    
            return methodB();
        }
    
        public int methodB() {
            return 1 / 0;
        }

    結果: ARMS は 2 つの java.lang.ArithmeticException 例外を記録します。

  • シナリオ 4: methodA は methodB の例外をキャッチし、RuntimeException として再スローします。

        public static int methodA() {
            try {
                return methodB();
            } catch (Throwable e) {
                throw new RuntimeException(e);
            }
        }
    
        public static int methodB() {
            return 1 / 0;
        }

    結果: ARMS は 1 つの java.lang.ArithmeticException 例外 ( methodB で未捕捉) と 1 つの java.lang.RuntimeException 例外 ( methodA によってスローされた) を記録します。

前提条件

アプリケーションは、アプリケーションモニタリングによって監視されています。

手順

  1. ARMS コンソール にログインします。左側のナビゲーションウィンドウで、[アプリケーションモニタリング] > [アプリケーションリスト] を選択します。

  2. 上部のナビゲーションバーでリージョンを選択し、アプリケーションをクリックします。

    説明

    言語 列のアイコンは、アプリケーションのプログラミング言語を示します。

    • Java图标: Java

    • image: Go

    • image: Python

    • - (ハイフン): Managed Service for OpenTelemetry で監視されているアプリケーション

  3. 左側のナビゲーションペインで、アプリケーションの詳細をクリックします。

  4. インスタンスを選択し、右上隅で期間を設定して、[例外分析] タブをクリックします。

    异常分析

積み上げチャート

例外 セクションには、指定された期間にアプリケーションで発生した例外の積み上げチャートが表示されます。

ここでは、次のことができます。

  • チャートの上にポインターを移動して、統計を表示します。

  • バーを水平方向にドラッグして、指定された期間の統計を表示します。

  • chart アイコンをクリックして、選択した期間のメトリック統計を表示するか、異なる日の同じ期間のパフォーマンスを比較します。

  • code アイコンをクリックして、メトリックの API 詳細を表示します。

例外リスト

指定された期間にアプリケーションで発生したすべての例外を表示します。

アクション 列では、次のことができます。

  • [呼び出し統計] をクリックして、例外の積み上げチャートを表示します。

  • [インターフェーススナップショット] をクリックして、異常な操作の トレース を表示します。

  • [詳細] をクリックして、例外の詳細を表示します。

説明

例外をフィルタリングするには、[アプリケーション設定] ページの [カスタム設定] タブの [詳細設定] セクションで ホワイトリスト フィールドを指定します。