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.
What does this PR do?
Adds span pointers to spans for Lambdas triggered by S3
putObject
,copyObject
, andcompleteMultipartUpload
events. This change will affect the downstream case for Universal Instrumentation Lambda runtimes (Java, .NET, Golang).Span pointers are similar to Span Links, but for cases when it is impossible to pass the Trace ID and Span ID between the spans that need to be linked.
When the calculated hashes for the upstream and downstream lambdas match, the Datadog backend will automatically link the two traces together.
IMAGES WILL GO HERE
When clicking on the linked span, a new tab opens linking to the downstream Lambda function that was triggered by this S3 object update.
Describe how you validated your changes
Mostly manual testing, but I also added unit tests.
To verify my changes, there are two ways.
Easy: Checkout this span.
More thorough: Run this Lambda function (only on the serverless AWS account) with the event payload
and change one of the bools to true. Check Datadog to ensure that the spans are properly linked.
I also added unit tests:
Additional Notes