-
Notifications
You must be signed in to change notification settings - Fork 809
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
feat(sdk-trace-node): support xray propagator #4602
Conversation
Signed-off-by: Anu Sridhar <[email protected]>
Signed-off-by: Anu Sridhar <[email protected]>
Revert newline change
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 a feature, not a bugfix.
We don't depend on contrib packages from the core repo, so this depends on #4603 being done first.
Please convert this PR to draft until it's ready for review.
Is it really needed to depend on xray propagator and require it unconditionally? There are a lot workloads which will not use xray propagator therefore I think we should not force people to install it. If we stick on this depends on design other propagators (and maybe other components like exporters, context managers, span processors,...) will follow and SDK will grow for no reason without any chance to opt out. |
My argument to that would be that there is already a jaeger propagator that is baked into the tracer provider at the moment. So what makes jaeger special and not xray? Also, I thought the the open telemetry way was to opt in to everything through environment variables, so it's not technically unconditional? |
Will do |
For tracking purposes, I have this listed as a subtask in #4494 |
Thank you @martinkuba ! |
You are right, it's not xray specific. |
@pichlermarc @martinkuba I have updated this PR now to incorporate the changes in #4603 |
Based on this #4494 (comment), I think we want to move the propagators from |
IMO we should leave the ones that are in In SDK 2.0 we remove the propagators from |
Okay....I'll take this out of draft status then |
@pichlermarc Per #4494 (comment), I think you want to have this in the Could we add it here for 1.x and then move everything to NodeSDK in 2.0? |
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 was discussed in SIG meeting on 4/24. In the future (likely 2.0), we want to have this configuration in one place, so it should reside in the sdk-node
package. However, since there are already multiple places right now, we agreed that it is ok to add this to sdk-trace-node
for now.
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.
Approving as discussed in the SIG meeting. I took the liberty to update the changelog and rebase the PR.
NOTE: In SDK 2.0 we will drop auto-configuration of propagators from this package entirely, which will include this propagator. #4672
@anuraags FYI we've discovered that this is not spec-compliant as we MUST NOT have the AWS propagator as part of the core repository (and therefore we cannot distribute the propgator be part of core components like the trace SDK - unless the spec changes). Therefore we'll have to roll back this change (see #4727). As a workaround I plan to introduce a |
* fix(opentelemetry-sdk-trace-node): support xray propagator Signed-off-by: Anu Sridhar <[email protected]> * linter fix Signed-off-by: Anu Sridhar <[email protected]> * Build trigger * Update package.json Revert newline change * chore: add changelog entry * fix: lint --------- Signed-off-by: Anu Sridhar <[email protected]> Co-authored-by: Marc Pichler <[email protected]>
…#4602)" (open-telemetry#4727) * Revert "feat(sdk-trace-node): support xray propagator (open-telemetry#4602)" This reverts commit 75d88f7. * chore: sync package-lock.json
Which problem is this PR solving?
Currently the NodeTracerProvider in the opentelemetry-sdk-trace-node package doesn't provide support for an AWS xray propagator.
If I try to use the node sdk and set the
OTEL_PROPAGATORS
environment variable toxray
, it complains that:The reason for this is that the NodeTracerProvider doesn't have the AWS XRAY propagator as a registered propagator.
Short description of the changes
This PR simply adds the AWSXRAYPropagator as a registere propagator in the NodeTracerProvider class. It also adds the AWSXrayPropagator package dependency to the
opentelemetry-sdk-trace-node
package.Type of change
How Has This Been Tested?
I updated the environment variable in the NodeTracerProvider test in
packages/opentelemetry-sdk-trace-node/test/NodeTracerProvider.test.ts
to includexray
and updated the resulting propagation fields.Checklist: