(aws-lambda-nodejs): Application Signals configuration
- Dominant language
- TypeScript
- Stars
- 12.9k
- Forks
- 4.6k
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 83
Description
### Describe the feature
The `NodejsFunction` and other Lambda Function constructs currently provide the user an easy way to instrument their code with OpenTelemetry by giving an option to declare the required `layerVersion` and `execWrapper` in the `adotInstrumentation` property. However, it only gives an option to choose from the layers delivered by [AWS Distro for OpenTelemetry Lambda](https://aws-otel.github.io/docs/getting-started/lambda), which is not ideal when there are also other options like [Application Signals](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Monitoring-Sections.html).
### Use Case
Users want to enable Application Signals for CloudWatch Application Monitoring on their Lambda functions using the `NodejsFunction` construct, similar to how they can currently enable AWS Distro for OpenTelemetry Lambda layers.
### Proposed Solution
Make Application Signals layers available to all `NodejsFunction` users as `AdotLayerVersion` classes, practically abstracting the [enablement process of the Application Signals on Lambda](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Application-Signals-Enable-LambdaMain.html#CloudWatch-Application-Signals-Lambda-CDK) to `NodejsFunction` configuration. This would provide users with more flexibility in choosing their observability instrumentation approach directly through the construct's configuration.
### Other Information
_No response_
### Acknowledgements
- [x] I may be able to implement this feature request
- [ ] This feature might incur a breaking change
### AWS CDK Library version (aws-cdk-lib)
2.229.0
### AWS CDK CLI version
2.1032.0
### Environment details (OS name and version, etc.)
macOS 26.1 (25B78)
Contributor guide
Research direction
Start by reading the NodejsFunction configuration for adotInstrumentation and the linked AWS documentation for Application Signals on Lambda. Determine how Application Signals layers should fit the existing AdotLayerVersion approach; done means users can enable Application Signals through NodejsFunction configuration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, typescript
- Domain
- cloud, infrastructure
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100