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

Application Real-Time Monitoring Service:低速トレースと失敗トレースに基づいてアプリケーションのトラブルシューティングを行う

最終更新日:Mar 03, 2025

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

前提条件

  • アプリケーションにApplication Real-Time Monitoring Service(ARMS)エージェントがインストールされていること。詳細については、アプリケーションモニタリングの概要を参照してください。

  • 新しいARMSコンソールを使用していること。

    image

新しいARMSコンソールのデモを使用する

デモ

失敗トレースに基づいて失敗した呼び出しのトラブルシューティングを行う

手順1:期間を特定する

  1. ARMSコンソールにログインします。左側のナビゲーションペインで、アプリケーションモニタリング > アプリケーション一覧を選択します。

  2. アプリケーション一覧ページで、上部のナビゲーションバーでリージョンを選択し、管理するアプリケーションの名前をクリックします。

    説明

    言語列に表示されるアイコンは、アプリケーションが記述されている言語を示します。

    Java图标:Javaアプリケーション

    image:Goアプリケーション

    image:Pythonアプリケーション

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

  3. 上部のナビゲーションバーで、トレースエクスプローラータブをクリックします。

    説明

    トレースエクスプローラータブは、新しいARMSコンソールで使用できます。新しいコンソールの使用方法については、前提条件セクションを参照してください。

    次の図に示すように、サンプルアプリケーションmall-gatewayで15:20から15:28の間にHTTPエラーが発生しました。

    image

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

    image

手順2:インターフェースまたはコンポーネントを特定する

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

image

/components/api/v1/mall/productインターフェースのトラブルシューティング

  1. spanNameチャートで、spanName:/components/api/v1/mall/productをクリックします。

    image

    フィルター条件 serviceName="mall-gateway" AND spanName="/components/api/v1/mall/product" が自動的に追加されます。

    クエリ結果に示されているように、/components/api/v1/mall/productインターフェースに関連するすべてのトレースが失敗しました。

    image

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

    image

低速トレースに基づいて低速な呼び出しのトラブルシューティングを行う

手順1:期間を特定する

  1. ARMSコンソールにログインします。左側のナビゲーションペインで、アプリケーションモニタリング > アプリケーション一覧を選択します。

  2. アプリケーション一覧ページで、上部のナビゲーションバーでリージョンを選択し、管理するアプリケーションの名前をクリックします。

    説明

    言語列に表示されるアイコンは、アプリケーションが記述されている言語を示します。

    Java图标:Javaアプリケーション

    image:Goアプリケーション

    image:Pythonアプリケーション

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

  3. 上部のナビゲーションバーで、トレースエクスプローラータブをクリックします。

    次の図に示すように、サンプルアプリケーションmall-user-serverには、15:40から15:49の間に5秒以上かかる低速な呼び出しがいくつかあります。

    image

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

    image

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

    image

手順2:インターフェースまたはコンポーネントを特定する

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

image

/components/api/v1/http/successインターフェースのトラブルシューティング/components/api/v1/http/成功インターフェイス

spanNameチャートで、spanName:/components/api/v1/http/successをクリックします。

image

フィルター条件 serviceName="mall-user-server" AND spanName="/components/api/v1/http/success" が自動的に追加されます。

クエリ結果に示されているように、各呼び出しに5秒以上かかり、/components/api/v1/http/successインターフェースが低速な呼び出しの根本原因です。

image

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

image

EagleEyeを介して報告されたスパンのトラブルシューティングEagleEye

attributes._arms.trace.protocol.typeチャートで、attributes._arms.trace.protocol.type:EagleEyeをクリックします。

image

`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インターフェースに集中しています。

image

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

image

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

arms-test名前空間に関連するスパンのトラブルシューティングarms-test 名前空間

serviceName="mall-user-server" AND attributes.namespace="arms-test"というフィルター条件のクエリ結果に示されているように、すべての低速トレースは/components/api/v1/http/successインターフェースに集中しています。

image

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

image

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