AdotInstrumentationConfig Struct
Properties for an ADOT instrumentation in Lambda.
Note: This uses the legacy ADOT Lambda layers that bundle an embedded collector. For the recommended optimized ADOT Lambda layers (the AWSOpenTelemetryDistro* family), add the layer via Function.addLayers() and set the AWS_LAMBDA_EXEC_WRAPPER environment variable to /opt/otel-instrument instead.
Example
ts
import {
AdotLambdaExecWrapper,
AdotLayerVersion,
AdotLambdaLayerJavaScriptSdkVersion,
} from 'aws-cdk-lib/aws-lambda';
const fn = new lambda.Function(this, 'MyFunction', {
runtime: lambda.Runtime.NODEJS_LATEST,
handler: 'index.handler',
code: lambda.Code.fromInline('exports.handler = function(event, ctx, cb) { return cb(null, "hi"); }'),
adotInstrumentation: {
layerVersion: AdotLayerVersion.fromJavaScriptSdkLayerVersion(AdotLambdaLayerJavaScriptSdkVersion.LATEST),
execWrapper: AdotLambdaExecWrapper.REGULAR_HANDLER,
},
});
python
from aws_cdk.aws_lambda import AdotLambdaExecWrapper, AdotLayerVersion, AdotLambdaLayerJavaScriptSdkVersion
fn = lambda_.Function(self, "MyFunction",
runtime=lambda_.Runtime.NODEJS_LATEST,
handler="index.handler",
code=lambda_.Code.from_inline("exports.handler = function(event, ctx, cb) { return cb(null, \"hi\"); }"),
adot_instrumentation=lambda.AdotInstrumentationConfig(
layer_version=AdotLayerVersion.from_java_script_sdk_layer_version(AdotLambdaLayerJavaScriptSdkVersion.LATEST),
exec_wrapper=AdotLambdaExecWrapper.REGULAR_HANDLER
)
)
java
import software.amazon.awscdk.services.lambda.AdotLambdaExecWrapper;
import software.amazon.awscdk.services.lambda.AdotLayerVersion;
import software.amazon.awscdk.services.lambda.AdotLambdaLayerJavaScriptSdkVersion;
Function fn = Function.Builder.create(this, "MyFunction")
.runtime(Runtime.NODEJS_LATEST)
.handler("index.handler")
.code(Code.fromInline("exports.handler = function(event, ctx, cb) { return cb(null, \"hi\"); }"))
.adotInstrumentation(AdotInstrumentationConfig.builder()
.layerVersion(AdotLayerVersion.fromJavaScriptSdkLayerVersion(AdotLambdaLayerJavaScriptSdkVersion.LATEST))
.execWrapper(AdotLambdaExecWrapper.REGULAR_HANDLER)
.build())
.build();
csharp
// Install: dotnet add package Amazon.CDK.Lib
using Amazon.CDK.AWS.Lambda;
var fn = new Function(this, "MyFunction", new FunctionProps {
Runtime = Runtime.NODEJS_LATEST,
Handler = "index.handler",
Code = Code.FromInline("exports.handler = function(event, ctx, cb) { return cb(null, \"hi\"); }"),
AdotInstrumentation = new AdotInstrumentationConfig {
LayerVersion = AdotLayerVersion.FromJavaScriptSdkLayerVersion(AdotLambdaLayerJavaScriptSdkVersion.LATEST),
ExecWrapper = AdotLambdaExecWrapper.REGULAR_HANDLER
}
});
go
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
import "github.com/aws/aws-cdk-go/awscdk"
fn := lambda.NewFunction(this, jsii.String("MyFunction"), &FunctionProps{
Runtime: lambda.Runtime_NODEJS_LATEST(),
Handler: jsii.String("index.handler"),
Code: lambda.Code_FromInline(jsii.String("exports.handler = function(event, ctx, cb) { return cb(null, \"hi\"); }")),
AdotInstrumentation: &AdotInstrumentationConfig{
LayerVersion: awscdk.AdotLayerVersion_FromJavaScriptSdkLayerVersion(awscdk.AdotLambdaLayerJavaScriptSdkVersion_LATEST()),
ExecWrapper: awscdk.AdotLambdaExecWrapper_REGULAR_HANDLER,
},
})
Properties
execWrapperAdotLambdaExecWrapperexec_wrapperAdotLambdaExecWrapperexecWrapperAdotLambdaExecWrapperExecWrapperAdotLambdaExecWrapperExecWrapperAdotLambdaExecWrapperrequired#The startup script to run, see ADOT documentation to pick the right script for your use case: https://aws-otel.github.io/docs/getting-started/lambda.
layerVersionAdotLayerVersionlayer_versionAdotLayerVersionlayerVersionAdotLayerVersionLayerVersionAdotLayerVersionLayerVersionAdotLayerVersionrequired#The ADOT Lambda layer.