アプリケーションのトレースデータがManaged Service for OpenTelemetryに報告されると、Managed Service for OpenTelemetryはアプリケーションの監視を開始します。Managed Service for OpenTelemetryは、保存されている完全なトレースデータをリアルタイムで分析するために、ビジネス要件に基づいてフィルター条件と集計ディメンションを組み合わせることができるトレースエクスプローラー機能を提供します。これは、さまざまなシナリオでのカスタム診断要件を満たします。
前提条件
監視対象のアプリケーションのデータは、Managed Service for OpenTelemetryに報告されます。詳細については、統合ガイドを参照してください。
手順
左側のナビゲーションペインで、トレースエクスプローラーをクリックします。上部のナビゲーションバーで、リージョンを選択します。
トレースエクスプローラーページの右上隅で、クエリする時間範囲を選択します。
フィルター条件を指定します。
クイックフィルターセクションで、ステータス、期間、アプリケーション名、スパン名、またはホストアドレスでトレースをクエリします。
指定されたフィルター条件は、検索バーに表示されます。
検索バーをクリックします。ドロップダウンフィルターパネルで、既存のフィルター条件を設定するか、カスタムフィルター条件を追加します。

検索バーにクエリステートメントを入力します。構文については、トレースエクスプローラーの使用方法を参照してください。
説明集計ディメンションドロップダウンリストの右側にある
アイコンをクリックして、指定したフィルター条件をビューに保存します。保存済みビューをクリックして、保存されているすべてのビューを表示するか、ビューをクリックして対応するトレースデータを表示します。
クエリされたデータを特定のディメンションに基づいて集計します。
トレースリスト
フィルター条件を指定すると、トレースエクスプローラーページにトレースデータが表示されます。トレースデータには、呼び出しとHTTPエラーの棒グラフ、期間の時系列曲線、およびトレースリストが含まれます。

トレースリストでは、次の操作を実行できます。
トレースIDをクリックするか、アクション列の詳細をクリックして、トレースの詳細とトポロジーを表示します。詳細については、トレースの詳細セクションを参照してください。
アクション列のログをクリックして、トレースのログを表示します。詳細については、ログ分析機能を使用するを参照してください。
トレースリストの右上隅にある
アイコンをクリックして、リストのパラメーターを追加または非表示にします。スパンにポインターを移動し、
アイコンをクリックして、現在のパラメーター値をフィルター条件として追加します。
散布図
散布図タブでは、時点がX軸に沿って分布し、期間がY軸に沿って分布します。点にポインターを移動してトレースの基本情報を表示したり、点をクリックしてトレースの詳細を表示したりできます。詳細については、トレースの詳細セクションを参照してください。

トレース集計の詳細
トレースエクスプローラーでは、クエリされたスパンをさまざまなディメンションに基づいて分析できます。ただし、多数のスパンで構成されるトレースを分析する必要がある場合があります。トレース集計機能を使用すると、指定された条件を使用して最大5,000の分散トレースをクエリし、トレースIDに基づいて対応するスパンをクエリできます。次に、クエリされたスパンを集計して結果を取得できます。このプロセスでは、集計されたトレースの整合性が保証されます。
トレース集計機能を使用する場合、集計クエリは指定された条件に基づいてトレースデータに対して実行されることに注意してください。複数のクエリ条件を指定すると、計算がリアルタイムで完了しない場合があります。しばらくお待ちください。

パラメーター | 説明 |
spanName | スパンの名前。 |
serviceName | スパンに対応するアプリケーションの名前。 |
リクエスト数/リクエストの割合 | リクエスト比率は、現在のスパンを呼び出すリクエストの総リクエスト数に対する比率を示します。 たとえば、10%は、リクエストの10%が現在のスパンを呼び出すことを示します。 式:リクエスト比率=現在のスパンを呼び出すリクエスト数/総リクエスト数×100% |
スパン/リクエスト倍数 | リクエスト倍数は、各リクエストによって現在のスパンが呼び出される平均回数を示します。 たとえば、1.5は、現在のスパンが各リクエストによって1.5回呼び出されることを示します。 式:リクエスト倍数=スパン数/リクエスト数 |
平均自己消費/割合 | スパンの自己時間は、子スパンで費やされた時間を除外します。 たとえば、スパンAに10ミリ秒かかり、その子スパン(スパンB)に8ミリ秒かかる場合、スパンAの平均自己時間は2ミリ秒です。 式:スパンの平均自己時間=スパンの合計時間-すべての子スパンで費やされた時間 重要 非同期呼び出しの場合、スパンの自己時間はスパンの合計時間と同じです。 |
平均期間 | スパンの平均期間。 |
例外の数/例外の割合 | 例外比率は、例外のあるリクエストの総リクエスト数に対する比率を示します。 たとえば、3%は、リクエストの3%で例外が発生することを示します。 式:例外のあるリクエスト数/総リクエスト数 重要 例外のあるリクエストの数は、例外の数と同じではありません。リクエスト倍数が1より大きい場合、リクエストに複数の例外が含まれる場合があります。 |
例:スパンAはスパンBとスパンCを呼び出します。次の表にパラメーターを示します。
spanName | serviceName | リクエスト数/リクエストの割合 | スパン/リクエスト倍数 | 平均自己消費/割合 | 平均期間 | 例外の数/例外の割合 | |
A | - | demo | 10/100.00% | 10/1.00 | 5.00ms/25.00% | 20ms | 2/20.00% |
- | B | demo | 4/40.00% | 8/2.00 | 16.00ms/100.00% | 16ms | 2/50.00% |
- | C | demo | 1/10.00% | 1/1.00 | 4.00ms/100.00% | 4ms | 1/100.00% |
スパンAのリクエスト数/リクエストの割合パラメーターは、リクエストの総数が10で、リクエスト比率が100%であることを示します。スパンBのリクエスト数/リクエストの割合パラメーターは、スパンBを呼び出すリクエストが4つだけであることを示します。同様に、スパンCを呼び出すリクエストは1つだけです。スパンBのリクエスト比率は40%、スパンCのリクエスト比率は10%です。論理判断または例外により、他のリクエストはスパンBとスパンCを呼び出しません。これは、リクエストの分布を反映しています。
スパンAのスパン/リクエスト倍数パラメーターは10/1.00です。これは、スパンAが各リクエストによって1回だけ呼び出されることを示します。ただし、スパンBの場合、8つのスパンが4つのリクエストによって呼び出されます。したがって、スパンBは各リクエストによって2回呼び出されます。これは、各リクエストのスパンの分布を反映しています。
スパンAの平均自己消費/割合パラメーターは5.00ms/25.00%です。これは、スパンAの平均自己時間(スパンBとスパンCを除く)が5ミリ秒であることを示します。スパンAの平均自己時間は、全体の平均時間のわずか25%を占めます。ただし、スパンBとスパンCには子スパンがないため、スパンBとスパンCの平均自己時間は全体の平均時間と同じです。これは、平均期間の分布を反映しています。
スパンAの例外の数/例外比率パラメーターは2/20.00%です。これは、スパンAに2つの例外があり、総リクエスト数の20%を占めていることを示します。スパンBの例外の数/例外の割合パラメーターは2/50.00%です。各リクエストがスパンBを2回呼び出し、総リクエスト数が4で、例外比率が50%であることを考えると、2つのリクエストに例外があります。したがって、スパンBの例外の分布は次のようになります。合計4つのリクエストのうち、2つのリクエストは成功です。残りの2つのリクエストのうち、各リクエストの最初の呼び出しで例外が発生しますが、2番目の呼び出しは成功です。
特定のトレースの詳細を表示するには、ポインターを青いスパン名の上に移動します。推奨されるトレースIDをクリックして詳細を表示できます。
トレーストポロジー
フルリンクトポロジータブには、集計されたトレースのアプリケーション間トポロジーが表示されます。次の図は、2つのアプリケーションに呼び出し関係があることを示しています。各アプリケーションについて、リクエスト数、エラー数、および応答時間が表示されます。

失敗したトレースと遅いトレースの分析
失敗したトレースと遅いトレースの分析は、複数の失敗したトレースと遅いトレースの共通のディメンションを分析するのに役立ちます。トレースは1つのホストに集中しているか、1つのインターフェースに属している可能性があります。ホストまたはインターフェースでトレースをクエリしたり、複数のフィルター条件を組み合わせてトレースをクエリして問題を特定したりできます。例:serviceName="arms-demo" AND ip="192.168.1.1"。失敗したトレースと遅いトレースの分析は、遅いインターフェースを整理し、システムの方向性のある最適化を実行するのにも役立ちます。
遅いトレースの分析
ARMSは、期間が最も長い1,000個のトレースを分析し、遅いトレースに最も関連する5つのディメンションを表示します。

遅いトレースの詳細
ARMSは、期間がしきい値を超えるトレースから期間が最も長い1,000個のトレースを選択し、期間がしきい値未満の1,000個のトレースをサンプリングし、これらのトレースを比較して、遅い呼び出しに最も関連する3つの特性を発見します。
ビジネス要件に基づいてしきい値を設定できます。1分以上かかるトレースの特性を発見したい場合は、しきい値を60000ミリ秒に設定できます。

失敗したトレースの分析
ARMSは、1,000個の失敗したトレースをランダムに選択して分析し、トレースに最も関連する5つのディメンションを表示します。

失敗したトレースの詳細
ARMSは、失敗したトレースと通常のトレースを比較し、失敗した呼び出しに最も関連する3つの特性を発見します。

トレースの詳細

コンポーネントタグ(前の図の番号1でマークされたセクション)
タグは、呼び出しタイプとスパンの数を示します。
呼び出しタイプは、attributes.component.nameフィールドによって定義されます。
タグをクリックして、呼び出しタイプに関連するスパンを非表示または表示します。
トレースの横棒グラフ(前の図の番号2でマークされたセクション)
棒グラフは、トレース全体とスパンの分布を示します。
各バーはスパンを表します。期間が合計期間の1%を超えるスパンのみが表示されます。
異なる色は異なるアプリケーションを表します。前の図に示すように、青色はopentelemetry-demo-adserviceアプリケーションを表します。
チャートの黒い線の長さは、スパンの自己時間を表します。これは、スパンの合計時間から子スパンで費やされた時間を差し引いたものです。スパンAがスパンBを呼び出すとします。スパンAに10ミリ秒かかり、スパンBに8ミリ秒かかります。この場合、スパンAに2ミリ秒かかります。
タイムラインは、トレースの時間範囲を表します。
トレースのフォーカスとフィルタリング(前の図の番号3でマークされたセクション)
このセクションの各行はスパンを表し、親スパンと子スパンの階層関係を示します。各親スパンの前に数字が付けられています。これは、親スパンが所有する子スパンの数を示します。このセクションでは、次の操作を実行できます。
折りたたみ:
アイコンをクリックして、スパンを折りたたむか展開します。フォーカス:スパンを選択し、
アイコンをクリックします。スパンのデータとダウンストリームデータのみが表示されます。フォーカス解除:
アイコンをクリックして、スパンのフォーカスを解除します。フィルター:検索ボックスにスパンの情報(スパン名、アプリケーション名、属性など)を入力して、スパンからエントリスパンまでのトレースデータを表示します。フィルタリングをキャンセルするには、検索ボックスから入力情報を削除し、検索アイコンをクリックします。
拡大/縮小:
アイコンをクリックしてトレースを拡大し、棒グラフを非表示にします。
アイコンをクリックして棒グラフを表示します。
スパンの詳細(前の図の番号4でマークされたセクション)
スパンの詳細セクションには、現在のスパンの詳細、および関連するメトリックデータ、ログ、および例外情報が表示されます。カスタムインタラクションイベントを管理し、インタラクションイベントのトリガーを設定することもできます。
追加情報:スパンの属性、リソース、詳細、およびイベントが表示されます。追加情報はタイプ別にグループ化されます。スパンの詳細のフィールドについては、トレースエクスプローラーのパラメーターを参照してください。
メトリック:スパンに関連するメトリックが表示されます。ARMSで監視されているJavaアプリケーションのトレースの場合、JVMとホストに関するメトリックが表示されます。オープンソースエージェントによって報告されたトレースの場合、レート、エラー、期間を含むREDメソッドによって定義されたメトリックが表示されます。

ログ:トレースに関連するビジネスログが表示されます。アプリケーションのSimple Log Service(SLS)ログストアを設定している場合は、ログストアに移動して、トレースIDに基づいてビジネスログをクエリできます。
例外:スパンに関連する例外情報(存在する場合)が表示されます。
イベント設定:トレースの1つ以上の属性のインタラクションイベントを設定できます。これにより、トレースに関する詳細をクエリしたり、トレースに関連するログとメトリックを表示したりできます。カスタムインタラクションイベントの設定方法については、トレースのカスタムインタラクションイベントを設定するを参照してください。
参考文献
エラーが発生した後にエラーが診断されないようにするために、アラート機能を使用して、1つまたはすべての操作のアラートルールを作成できます。これにより、エラーが発生したときにシステムからO&Mチームに通知が送信されます。アラートルールの作成方法の詳細については、アラートルールを作成するを参照してください。