-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Serverless] support lambda direct invocation trace propagation #11624
[Serverless] support lambda direct invocation trace propagation #11624
Conversation
1b5cfb1
to
6b5b50e
Compare
6b5b50e
to
a58333a
Compare
The associated change in |
var traceID, parentID uint64 | ||
var e1, e2 error | ||
|
||
if payload.Headers != nil { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is checked twice, maybe you could find a way to refactor?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I refactored this bit of code, let me know if it looks good!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
* [serverless] Share snapshots between integration tests (#11630) * [Serverless] added capture lambda payloads (#11484) Added the capture lambda payloads feature for universal instrumentation * [Serverless] support lambda direct invocation trace propagation (#11624) * support receiving directly invoked lambda trace context (universal instrumentation) Co-authored-by: Nicolas Hinsch <nick.hinsch@datadoghq.com> Co-authored-by: David Lee <david.lee@datadoghq.com>
What does this PR do?
Adds support for recieving lambda direct invocation trace context for trace propagation and merging, as a part of universal instrumentation
Motivation
Step towards universal instrumentation. Coupled with this dotnet tracer PR, we will support trace propagation/merging when an instrumented python/node lambda directly invokes a dotnet lambda synchronously using the AWS SDK
Additional Notes
Possible Drawbacks / Trade-offs
Describe how to test/QA your changes
Tested manually using the lambda-extension-dotnet lambda stack within the cloud-integrations repo, including testing with void, one param, two param, and invalid three param dotnet lambdas. Also tested changes with the current dotnet tracer version that doesnt support this feature.
Reviewer's Checklist
Triage
milestone is set.major_change
label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.changelog/no-changelog
label has been applied.qa/skip-qa
label is not applied.team/..
label has been applied, indicating the team(s) that should QA this change.need-change/operator
andneed-change/helm
labels have been applied.