Python や Node.js の Lambda 関数では、個々の呼び出しをインスツルメントするために、Datadog Lambda ライブラリが Lambda ハンドラー関数にラップする必要があります。これは、関数のハンドラーを Datadog のハンドラー関数、例えば datadog_lambda.handler.handler
に設定し、環境変数 DD_LAMBDA_HANDLER
に、Datadog ハンドラーから呼ばれるオリジナルのハンドラー関数を設定すれば実現できます。
Lambda 関数の構成が Datadog ハンドラーのリダイレクトと互換性がない場合、代わりに関数コードで Datadog ラッパーを適用することができます。
Python または Node.js の Custom インストール手順に従い、Datadog サーバーレスモニタリングをインストールします。
ハンドラー関数を構成するステップをスキップします。
環境変数 DD_LAMBDA_HANDLER
を設定するステップをスキップします。
関数コードで Datadog ラッパーを適用します。
# for python
from datadog_lambda.wrapper import datadog_lambda_wrapper
@datadog_lambda_wrapper
def my_lambda_handle(event, context):
# your function code
// for node.js
const { datadog } = require("datadog-lambda-js");
const tracer = require("dd-trace").init({
// optional tracer options
});
module.exports.myHandler = datadog(myHandler, {
// my function code
}, {
// optional datadog config, e.g., custom trace context extractor
traceExtractor: () => {},
});