serverless-aws-otel-plugin
v1.0.0
Published
A Serverless plugin to automatically configure AWS OpenTelemetry layer and environment variables for Python Lambda functions
Maintainers
Readme
serverless-aws-otel-plugin
A Serverless plugin to automatically configure AWS OpenTelemetry layer and environment variables for Python Lambda functions.
Installation
npm install serverless-aws-otel-pluginUsage
Add the plugin to your serverless.yml:
plugins:
- serverless-aws-otel-pluginConfiguration
Basic Usage (Uses Defaults)
plugins:
- serverless-aws-otel-pluginCustom Configuration
custom:
otelPlugin:
# Override the default OpenTelemetry layer ARN
layerArn: 'arn:aws:lambda:us-east-1:615299751070:layer:AWSOpenTelemetryDistroPython:20'
# Override or add environment variables
envVars:
OTEL_LOGS_EXPORTER: 'otlp'
OTEL_PYTHON_DISABLED_INSTRUMENTATIONS: 'logging,requests'
OTEL_RESOURCE_ATTRIBUTES: 'service.name=${self:service},service.version=2.0.0,service.environment=${self:custom.stage}'Default Configuration
The plugin automatically adds:
- Layer:
arn:aws:lambda:us-east-1:615299751070:layer:AWSOpenTelemetryDistroPython:18 - Environment Variables:
AWS_LAMBDA_EXEC_WRAPPER: /opt/otel-instrumentOTEL_LOGS_EXPORTER: noneOTEL_PYTHON_DISABLED_INSTRUMENTATIONS: loggingOTEL_RESOURCE_ATTRIBUTES: service.name=${self:service},service.version=1.0.0,service.environment=${self:custom.stage}OTEL_SERVICE_NAME: ${self:service}OTEL_PROPAGATORS: tracecontext,baggage,xray
Publishing Steps
- Create GitHub repository
- Test locally:
npm pack - Publish to npm:
npm login npm publish
License
MIT
