Skip to content
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

Add "none" as a possible value to OTEL_PROPAGATORS #2052

Merged
merged 4 commits into from
Nov 1, 2021

Conversation

pellared
Copy link
Member

@pellared pellared commented Oct 22, 2021

Per #2045 (comment)

Changes

Add none as a possible value for OTEL_PROPAGATORS to disable context propagation. Because the default is tracecontext,baggage, there is no way to disable signal export via env vars.

The same approach has been specified for OTEL_TRACES_EXPORTER and OTEL_METRICS_EXPORTER here: #1439

It is also important given the fact that an env var with empty env var should be interpreted in the same way as an usnset env var. More: #2045

@pellared pellared changed the title [WIP] Add "none" known value to OTEL_PROPAGATORS Add "none" a possible value to OTEL_PROPAGATORS Oct 22, 2021
@pellared pellared marked this pull request as ready for review October 22, 2021 08:03
@pellared pellared requested review from a team October 22, 2021 08:03
@pellared pellared changed the title Add "none" a possible value to OTEL_PROPAGATORS Add "none" as a possible value to OTEL_PROPAGATORS Oct 22, 2021
Copy link
Member

@yurishkuro yurishkuro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please explain the need / document the use case for this setting.

Nit: given that this is a list of propagators, the value "none" seems a bit odd. It's fine when it is standalone value, but this setting allows composing propagators, such that none can be combined with something else. "noop" might be more accurate description of it, since it's not the absence of a propagator, but one that does nothing.

@pellared
Copy link
Member Author

pellared commented Oct 22, 2021

@yurishkuro Same use case like for span and metrics exporters. I am proposing none for the sake of consistency. This is also the only way to disable propagation via env vars.

Later I can try improving the description

@pellared
Copy link
Member Author

@yurishkuro Description updated

@pellared pellared requested a review from yurishkuro October 22, 2021 15:10
@yurishkuro
Copy link
Member

My concern is that by making this a requirement in the spec we're adding cumulatively hours to days of work for SDK maintainers, and doing it "for consistency" is not a strong enough argument. Is there a strong demand for this feature from end users?

Also, I find the wording (not introduced in this PR) of "these are known values" rather confusing - do SDKs must support all those values and the respective algorithms? We may want to book a separate issue to discuss that.

@carlosalberto
Copy link
Contributor

Adding this to the next Maintainers call for further discussion.

@trask
Copy link
Member

trask commented Oct 22, 2021

by making this a requirement in the spec we're adding cumulatively hours to days of work for SDK maintainers

is this a MAY here? e.g. xray is in this same list and is not a MUST. in which case SDKs could choose to implement it based on demand

@trask
Copy link
Member

trask commented Oct 22, 2021

Also, I find the wording (not introduced in this PR) of "these are known values" rather confusing - do SDKs must support all those values and the respective algorithms? We may want to book a separate issue to discuss that.

oh yes, what you said 👍

@tsloughter
Copy link
Member

Since none was already used I think this should go with none even if noop is better.

And would argue if there is a configuration that has a default that is used if it isn't set then there needs to be a way to set it to be a noop, even if many users haven't asked for it yet :)

@obecny
Copy link
Member

obecny commented Oct 27, 2021

in js this won't be a problem with propagator equal to none it will be already working fine and if propagator it not found it will show error but it will not harm the app.

@carlosalberto
Copy link
Contributor

@open-telemetry/proto-go-maintainers A last look perhaps?

@carlosalberto carlosalberto merged commit 20c82de into open-telemetry:main Nov 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.