AppDynamics は、Java、Node.js、および Python で利用可能な、サーバレストレーサの形式でサーバレス アプリケーション パフォーマンス モニタリング(Serverless APM)機能を提供します。このページでは、トレーサとビジネストランザクションを関連付ける方法について説明します。
ビジネストランザクション相関のアーキテクチャ
サーバレストレーサは、ビジネストランザクションをアップストリームとダウンストリームのコンポーネントに関連付けます。ビジネストランザクションは、AppDynamics でエンドツーエンドのトランザクションの可視性を提供する、APM エージェントまたは Lambda トレーサでインストゥルメント化されたアプリケーション コンポーネント内で開始または続行できます。
次の図は、トレーサが、サーバレス機能を通じてビジネストランザクションを APM と EUM エージェントに関連付ける方法を示しています。
ビジネストランザクション相関プロセス
ビジネストランザクション相関は、アプリケーションがネットワークを介して渡す不透明な相関文字列を使用して行われます。最初に、トレーサは終了コールで相関文字列を生成し、次にアプリケーションは相関文字列をダウンストリーム コンポーネントに渡します。ダウンストリーム コンポーネントは相関文字列を取得し、ビジネストランザクションを続行します。このプロセスにより、サーバレストレーサはビジネストランザクションを関連付けることができます。
相関文字列の転送
アプリケーションは、トレーサによって生成された相関文字列を渡して、複数のサービス間でビジネストランザクションを関連付ける必要があります。相関文字列は、アプリケーションペイロードとともにシリアル化および通信する必要があります。
着信 HTTP コール
HTTP コールを介して相関文字列を渡すと、その文字列は HTTP ヘッダーとして渡されます。トレーサは、関数の呼び出しオブジェクトの相関ヘッダー文字列を保持するキーを検索します。相関関係は、サーバレストレーサが相関ヘッダーキーを検出した場合に発生します。キーが見つからない場合、トレーサは新しいビジネストランザクションを作成します。
その他のプロトコル
HTTP 以外のプロトコルの場合は、相関文字列のプロトコル固有の転送を定義して、ビジネストランザクション相関を有効にする必要があります。
トレーサは、次の場合に新しいビジネストランザクションを作成します。
- 渡す相関文字列が配置されていない場合。または、
- トレーサが相関文字列を見つけることができない場合。
開始するには、「サーバレス APM 環境のセットアップ」を参照してください。
これらのマニュアルで使用されている Amazon Web サービス、AWS ロゴ、AWS、およびその他の AWS マークは、米国およびその他の国における Amazon.com, Inc. またはその関連会社の商標です。