Application Real-Time Monitoring Service (ARMS) は、開発者がコードの実行を追跡するためのトレースデータを提供します。トレースは、分散システムにおけるリクエストのエンドツーエンドのパスをキャプチャします。あるサービスが別のサービスを呼び出すと、トレースが生成され、階層的な呼び出しシーケンスが視覚化されます。
メリット
分散システムでは、リクエストの処理に複数のサービスの呼び出しが伴うことがよくあります。リクエストがタイムアウトしたり、エラーが発生したり、例外がスローされたりすると、トラブルシューティングが困難になる可能性があります。トレースは、O&M エンジニアに次の利点をもたらします。
トラブルシューティング: リクエストが失敗した場合、またはエラーが発生した場合、トレースはリクエストパス全体と各サービスの実行ステータスを明らかにし、エラーの迅速な特定を可能にします。
パフォーマンスの最適化: トレースを分析することにより、O&M エンジニアはリクエストの実行時間とシステムのボトルネックを特定し、パフォーマンスの向上を促進できます。
システム監視: トレースはリアルタイムのシステム監視と分析を提供し、O&M 担当者がシステムの正常性とリソース使用率を評価するのに役立ちます。
用語
トレース
トレースは、リクエストまたはトランザクションの開始から終了までの実行全体をキャプチャします。たとえば、クライアントから送信されたリクエストが受信および処理されるライフサイクル全体がトレースを構成します。構造的には、各トレースはスパンのツリーであり、一意のトレース ID が割り当てられます。この ID はリクエストのライフサイクル全体で一貫しているため、デバッグのために関連するすべてのスパンを一元的にクエリできます。
スパン
分散トレーシングの基本単位として、スパンはトレース内の単一の論理操作を表します。スパンは、メソッド呼び出し、プログラムブロックの呼び出し、リモートプロシージャコール ( RPC )、またはデータベースクエリです。各スパンには一意のスパン ID が割り当てられ、開始タイムスタンプと終了タイムスタンプがキャプチャされます。親スパン ID も各スパンに関連付けられており、現在のスパンの前にある上流スパンを示します。スパンはネストされてトレースのツリー構造を形成し、サービスの依存関係をマッピングします。