fix: Support provisioned concurrency in cold start detection #2123
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.



Summary
Fixes #2113 - Provisioned concurrency not considered in Logging and Metrics
Problem
When Lambda functions use Provisioned Concurrency, AWS sets
AWS_LAMBDA_INITIALIZATION_TYPE=provisioned-concurrencyto indicate pre-warmed environments. However, Powertools incorrectly reported these as cold starts across all utilities:cold_start: truein JSON logsColdStartmetric with value 1ColdStart: trueannotation in X-Ray segmentsSolution
Updated the centralized cold start detection logic in
LambdaHandlerProcessor.isColdStart()to check for theAWS_LAMBDA_INITIALIZATION_TYPEenvironment variable.Changes
isColdStart()method to detect provisioned concurrencyEvidence
Before Fix (Bug):
{"level":"INFO","message":"Handler Event","cold_start":true,"service":"triage"}ColdStart metric emitted:
"ColdStart":1.0After Fix (Resolved):
{"level":"INFO","message":"Handler Event","cold_start":false,"service":"triage"}No ColdStart metric emitted
Testing
Impact