Adds span pointers to spans for Lambdas triggered by putObject, copyObject, and completeMultipartUpload events.
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.
When clicking on the linked span, a new tab opens linking to the downstream Lambda function that was triggered by this S3 object update.
Motivation
This feature already exists in Python, and I'm working on adding it to all other runtimes (Node, .NET, Java, Golang).
Testing Guidelines
Easy: Checkout this span, enable the feature flag, and you will see that it's pointing to the downstream Lambda.
and change one of the bools to true. Also, try both with AWS SDK v2 and v3. Enable the span pointers feature flag, and check Datadog to ensure that the spans are properly linked.
Additional Notes
This handles the 'downstream' case, for Lambdas that make S3 requests. This PR adds span pointers on the upstream case.
S3 and Dynamo are supported in Python. I will soon open another PR to add support for Dynamo.
What does this PR do?
Adds span pointers to spans for Lambdas triggered by
putObject
,copyObject
, andcompleteMultipartUpload
events.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.
When clicking on the linked span, a new tab opens linking to the downstream Lambda function that was triggered by this S3 object update.
Motivation
This feature already exists in Python, and I'm working on adding it to all other runtimes (Node, .NET, Java, Golang).
Testing Guidelines
Easy: Checkout this span, enable the feature flag, and you will see that it's pointing to the downstream Lambda.
More thorough: Run this Lambda function with the event payload
and change one of the bools to true. Also, try both with AWS SDK v2 and v3. Enable the span pointers feature flag, and check Datadog to ensure that the spans are properly linked.
Additional Notes
Types of Changes
Check all that apply