インストルメンテーション オプション
トレーサをインストゥルメント化します。
自動的に、Splunk AppDynamics クラス MonitoredRequestStreamHandler を使用するかSplunk AppDynamics手動で、AppDynamics.getTracer(context) メソッド を使用します。
自動トレーサ インストルメンテーション
関数が RequestStreamHandler インターフェイスを使用している場合は、自動的にトレーサをインストゥルメント化できます。
自動インストルメンテーションで、関数はトレーサの設定を継承します。自動インストルメンテーションは、トレーサを次の操作が実行できるように事前に設定します。
- トランザクションの作成、開始、停止
- 相関ヘッダーの検索
- トランザクションエラーの報告
RequestStreamHandler および RequestHandler は、AWS によって提供される事前定義されたハンドラです。AWS のマニュアルを参照してください。
手動トレーサ インストルメンテーション
AppDynamics.getTracer(context)手動トレーサ インストゥルメンテーションでは、メソッド は、関数のエントリポイントメソッドの開始時にトレーサをインスタンス化します。次の場合は、手動でトレーサをインストゥルメント化します。
-
RequestStreamHandlerAWS Lambda 関数は インターフェイスをインストゥルメント化していません。 MonitoredRequestStreamHandlerから構成を継承するように関数を設定する必要がありません。- 1AWS Lambda 関数はマルチスレッド化され、動作が定義されていることを確認します。詳細については、「トレーサの同期」を参照してください。
手動トレーサ インストルメンテーションを使用するには、次の操作を実行する必要があります。
- トレーサのインスタンス化
- トランザクションの作成、開始、停止
- 相関ヘッダーの検索
- トランザクションエラーの報告
Java の AWS Lambda コンテキストオブジェクトcontext,は AWS によって提供されます。AWS のマニュアルを参照してください。
トレーサの同期化
両方のインストルメンテーション オプションについて、トレーサへのアクセスを同期する必要があります。
getTransaction()自動インストゥルメンテーションでは、 メソッドによって返されるトランザクション オブジェクトを同期する必要があります。
getTracer()手動インストゥルメンテーションでは、 メソッドによって返されるトレーサオブジェクトを同期する必要があります。トレーサのマルチスレッド使用には、手動のトレーサ インストルメンテーションが必要です。