本番環境では、アプリケーションの応答時間やエラー率の急激な増加など、アプリケーションの例外には、トラフィックの不均一性、インスタンスの障害、プログラムの例外、依存関係の障害など、さまざまな原因が考えられます。アプリケーションをリリースしたり、プロモーションを実施する前には、包括的なパフォーマンス最適化が必要です。パフォーマンスのボトルネックを特定し、頻繁に障害が発生したり、過剰な時間を消費したりするインターフェースやコンポーネントを最適化する必要があります。このトピックでは、低速トレースと失敗トレースを使用して、失敗した呼び出しと低速な呼び出しのトラブルシューティングを行い、パフォーマンスのボトルネックを特定する方法について説明します。
前提条件
アプリケーションにApplication Real-Time Monitoring Service(ARMS)エージェントがインストールされていること。詳細については、アプリケーションモニタリングの概要を参照してください。
新しいARMSコンソールを使用していること。

新しいARMSコンソールのデモを使用する
失敗トレースに基づいて失敗した呼び出しのトラブルシューティングを行う
手順1:期間を特定する
ARMSコンソールにログインします。左側のナビゲーションペインで、を選択します。
アプリケーション一覧ページで、上部のナビゲーションバーでリージョンを選択し、管理するアプリケーションの名前をクリックします。
説明言語列に表示されるアイコンは、アプリケーションが記述されている言語を示します。
:Javaアプリケーション
:Goアプリケーション
:Pythonアプリケーションハイフン(-):Managed Service for OpenTelemetryで監視されているアプリケーション。
上部のナビゲーションバーで、トレースエクスプローラータブをクリックします。
説明トレースエクスプローラータブは、新しいARMSコンソールで使用できます。新しいコンソールの使用方法については、前提条件セクションを参照してください。
次の図に示すように、サンプルアプリケーションmall-gatewayで15:20から15:28の間にHTTPエラーが発生しました。

トラブルシューティングには、上記の期間を使用します。

手順2:インターフェースまたはコンポーネントを特定する
エラー/低速トレース分析タブに示されているように、失敗トレースは主に/components/api/v1/mall/productインターフェースに集中しており、これらのトレースに対してエラーコード500が返されました。

/components/api/v1/mall/productインターフェースのトラブルシューティング
spanNameチャートで、spanName:/components/api/v1/mall/productをクリックします。

フィルター条件
serviceName="mall-gateway" AND spanName="/components/api/v1/mall/product"が自動的に追加されます。クエリ結果に示されているように、/components/api/v1/mall/productインターフェースに関連するすべてのトレースが失敗しました。

一覧タブでトレースを見つけ、操作列の詳細をクリックしてトレースの詳細を表示します。

低速トレースに基づいて低速な呼び出しのトラブルシューティングを行う
手順1:期間を特定する
ARMSコンソールにログインします。左側のナビゲーションペインで、を選択します。
アプリケーション一覧ページで、上部のナビゲーションバーでリージョンを選択し、管理するアプリケーションの名前をクリックします。
説明言語列に表示されるアイコンは、アプリケーションが記述されている言語を示します。
:Javaアプリケーション
:Goアプリケーション
:Pythonアプリケーションハイフン(-):Managed Service for OpenTelemetryで監視されているアプリケーション。
上部のナビゲーションバーで、トレースエクスプローラータブをクリックします。
次の図に示すように、サンプルアプリケーションmall-user-serverには、15:40から15:49の間に5秒以上かかる低速な呼び出しがいくつかあります。

トラブルシューティングには、上記の期間を使用します。

エラー/低速トレース分析タブで、時間消費しきい値の変更をクリックして、しきい値を5000ミリ秒に変更します。

手順2:インターフェースまたはコンポーネントを特定する
エラー/低速トレース分析タブに示されているように、低速トレースは/components/api/v1/http/successインターフェースに集中しており、EagleEyeを介して報告されています。また、インターフェースはarms-test名前空間にデプロイされています。

/components/api/v1/http/successインターフェースのトラブルシューティング/components/api/v1/http/成功インターフェイス
spanNameチャートで、spanName:/components/api/v1/http/successをクリックします。

フィルター条件 serviceName="mall-user-server" AND spanName="/components/api/v1/http/success" が自動的に追加されます。
クエリ結果に示されているように、各呼び出しに5秒以上かかり、/components/api/v1/http/successインターフェースが低速な呼び出しの根本原因です。

時間パーセンタイルチャートに示されているように、平均呼び出し時間は5秒を超えています。

EagleEyeを介して報告されたスパンのトラブルシューティングEagleEye
attributes._arms.trace.protocol.typeチャートで、attributes._arms.trace.protocol.type:EagleEyeをクリックします。

`serviceName="mall-user-server" AND attributes._arms.trace.protocol.type="EagleEye"`serviceName="mall-user-server" AND attributes._arms.trace.protocol.type="EagleEye" というフィルター条件が自動的に追加されます。
クエリ結果に示されているように、すべての低速トレースは/components/api/v1/http/successインターフェースに集中しています。

フィルター条件として/components/api/v1/http/successインターフェイスを設定します。クエリ結果に示されているように、各呼び出しには5秒以上かかります。

時間パーセンタイルチャートに示されているように、平均呼び出し時間は5秒を超えています。
arms-test名前空間に関連するスパンのトラブルシューティングarms-test 名前空間
serviceName="mall-user-server" AND attributes.namespace="arms-test"というフィルター条件のクエリ結果に示されているように、すべての低速トレースは/components/api/v1/http/successインターフェースに集中しています。

フィルター条件として/components/api/v1/http/successインターフェイスを設定します。クエリ結果に示されているように、各呼び出しには5秒以上かかります。

トラブルシューティングに基づいて、すべての低速トレースが/components/api/v1/http/successインターフェイスに集中しているという結論を導き出すことができます。/components/api/v1/http/successインターフェイスはarms-test名前空間にデプロイされており、トレースはEagleEyeを介して報告されます。