アプリケーションのレスポンスタイムが急増したり、エラー率が上昇したりした場合、パフォーマンス劣化の原因となっているインターフェイスとその要因を迅速に特定する必要があります。Application Real-Time Monitoring Service (ARMS) の「インターフェイスの呼び出し」ページでは、アプリケーション全体におけるインターフェイス単位の可観測性を提供しており、呼び出しトポロジー、パフォーマンスメトリクス、スロークエリ検出、例外およびエラーの集約、サービス依存関係マッピング、トレースレベルでのドリルダウンが可能です。
「インターフェイスの呼び出し」ページを開く
ARMS コンソールにログインします。
左側ナビゲーションウィンドウで、アプリケーションモニタリング > アプリケーション を選択します。
アプリケーション ページの上部ナビゲーションバーからリージョンを選択し、管理対象のアプリケーション名をクリックします。
言語 列のアイコンは、アプリケーションの接続方法を示します。
アイコンは、アプリケーションが「アプリケーションモニタリング」に接続されていることを意味します。ハイフン (-) は、アプリケーションが「OpenTelemetry 向けマネージドサービス」に接続されていることを意味します。左側ナビゲーションウィンドウで、インターフェイスの呼び出し をクリックします。
「概要」タブでインターフェイスのパフォーマンスをモニターする
概要 タブでは、選択されたインターフェイスの呼び出しトポロジーおよび以下の 4 つのメトリクスの時系列チャートが表示されます。
| メトリクス | 説明 |
|---|---|
| リクエスト | 時間経過に伴うリクエスト総数 |
| エラー | 時間経過に伴う失敗したリクエスト数 |
| レスポンスタイム | 平均レスポンスタイム(RT)の推移 |
| HTTP ステータスコード | 時間経過に伴う HTTP ステータスコードの分布 |
これらのチャートでエラー数またはレスポンスタイムに急激な増加が見られた場合、下記の分析タブを用いた詳細調査の出発点となります。

スロー SQL および NoSQL クエリを特定する
SQL 分析タブ
SQL 分析 タブには、選択されたインターフェイスのコードパス内で実行されたすべての SQL ステートメントが一覧表示されます。このタブを使用して、レスポンスタイムの増加を引き起こすスロー SQL を特定できます。
特定の SQL ステートメントを含む完全なトレースを表示するには、アクション 列の インターフェイススナップショット をクリックします。

NoSQL 分析タブ
NoSQL 分析 タブは、SQL 分析タブと同様の機能を提供しますが、対象は選択されたインターフェイス内で開始された NoSQL リクエストです。アクション 列の インターフェイススナップショット をクリックすると、任意の NoSQL ステートメントに対応する完全なトレースを表示できます。
例外およびエラーを分析する
例外分析タブ
例外分析 タブでは、選択されたインターフェイスのコードからスローされた Java 例外が表示され、最も頻繁に発生する例外を特定できます。
アクション 列の インターフェイススナップショット をクリックすると、例外スタックを含む完全なトレースを表示できます。

エラー分析タブ
エラー分析 タブでは、アプリケーションから返されたエラーおよび HTTP ステータスコードが集約されます。このタブを使用して、インターフェイス全体で繰り返し発生するエラーパターンを特定できます。
TraceId 列の値をクリックすると、該当するリクエストのトレース詳細ページが開きます。

上流および下流の依存関係をトレースする
上流サービスおよび下流サービスタブ
上流サービス タブおよび 下流サービス タブでは、ご利用のアプリケーションを呼び出すサービス(上流)およびご利用のアプリケーションが呼び出すサービス(下流)が表示されます。各エントリには、以下の 3 つのパフォーマンスメトリクスが含まれます。
| メトリクス | 説明 |
|---|---|
| レスポンスタイム | 2 つのサービス間の呼び出しにおける平均 RT |
| リクエスト | リクエスト総数 |
| エラー | 失敗したリクエスト数 |
これらのタブを使用して、パフォーマンス劣化の原因として遅延している依存関係を特定できます。たとえば、アプリケーションのレスポンスタイムが高い場合、下流サービス タブを確認し、遅延している下流サービスが根本原因であるかどうかを判断します。

上流トレースおよび下流トレースタブ
上流トレース タブおよび 下流トレース タブでは、インターフェイス単位の呼び出し関係を詳細に表示します。
すべて展開/折りたたみ をクリックすると、すべてのインターフェイスを一度に表示または非表示にできます。
検索ボックスでアプリケーション名またはインターフェイス名を検索できます。
各行の末尾にある折りたたみパネルまたは矢印アイコンをクリックすると、特定のインターフェイスのパフォーマンスメトリクスを展開または折りたためます。
「インターフェイススナップショット」タブでトレースを確認する
インターフェイススナップショット タブでは、選択されたインターフェイスに対するトレースレベルの可視性が提供されます。このタブには、選択されたインターフェイスのパラメーター、2 つのチャート、およびトレース詳細テーブルが表示されます。
チャート
トレース総数 — インターフェイス呼び出しの総数およびスローコールの数を表示します。RT が 500 ミリ秒を超える呼び出しをスローコールと分類します。このしきい値は、アプリケーション設定で変更可能です。スローコールのカウントには、非同期シナリオで生成されたローカルインターフェイス呼び出しは含まれません。
レスポンスタイムの推移 — インターフェイスの RT が時間とともにどのように変化するかを表示します。このチャートはサンプリングデータに基づいており、精度はアプリケーションで設定されたサンプリング率に依存します。
トレース詳細テーブル
この表には、メタデータを含む個別のトレースが一覧表示されています。ここから:
TraceId 列の値をクリックすると、「トレース詳細」ページが開き、リクエストの完全なスパン分解を確認できます。
アクション 列の ログの表示 をクリックすると、特定のインターフェイス呼び出しに関連付けられたビジネスログを表示できます。

[ログの表示] を使用するには、まず、トレース ID をアプリケーションのビジネスログに関連付ける必要があります。この関連付けにより、問題のあるトレースからトラブルシューティングに関連するログエントリに直接ジャンプできます。詳細については、「ビジネスログとトレース ID を関連付ける」をご参照ください。
サポートされるフレームワーク
ARMS は、以下の Web フレームワークおよびリモートプロシージャコール(RPC)フレームワークにおけるインターフェイスを自動的に検出し、モニターします。
| フレームワーク | 最低バージョン |
|---|---|
| Tomcat | 7+ |
| Jetty | 8+ |
| Resin | 3.0+ |
| Undertow | 1.3+ |
| WebLogic | 11.0+ |
| SpringBoot | 1.3.0+ |
| HSF | 2.0+ |
| Dubbo | 2.5+ |