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

Make OTEL_EXPERIMENTAL_SDK_ENABLED stable #2667

Closed
brunobat opened this issue Jul 15, 2022 · 10 comments · Fixed by #2679
Closed

Make OTEL_EXPERIMENTAL_SDK_ENABLED stable #2667

brunobat opened this issue Jul 15, 2022 · 10 comments · Fixed by #2679
Assignees
Labels
area:configuration Related to configuring the SDK area:sdk Related to the SDK help wanted Extra attention is needed spec:miscellaneous For issues that don't match any other spec label triaged-accepted The issue is triaged and accepted by the OTel community, one can proceed with creating a PR proposal

Comments

@brunobat
Copy link
Contributor

brunobat commented Jul 15, 2022

We would like otel.experimental.sdk.enabled java system property to become permanent and be called otel.sdk.enabled.
This would be the env. variable: OTEL_EXPERIMENTAL_SDK_ENABLED

This request comes from the Eclipse MicroProfile (MP) Tracing group, which uses the OTel Tracing part.
We aim to use the properties already defined by OTel, however we cannot perform a stable release requiring the use of experimental features.
We currently see no reason to not make permanent the behaviour controlled by this property.

This issue was originally discussed here: open-telemetry/opentelemetry-java#4589

@brunobat brunobat added the spec:miscellaneous For issues that don't match any other spec label label Jul 15, 2022
@arminru arminru added area:semantic-conventions Related to semantic conventions area:sdk Related to the SDK area:configuration Related to configuring the SDK and removed area:semantic-conventions Related to semantic conventions labels Jul 15, 2022
@arminru
Copy link
Member

arminru commented Jul 15, 2022

Hi @brunobat!
This flag/setting is actually not defined at all in the OTel spec and I think that's why the OTel Java SIG uses an experimental prefix. If this setting could be relevant for other SDKs as well, it could be proposed in a PR here in the spec to add it as a new feature.

@tigrannajaryan
Copy link
Member

@brunobat What's the semantics of this attribute?

@tigrannajaryan tigrannajaryan added the triaged-needmoreinfo The issue is triaged - the OTel community needs more information to decide label Jul 15, 2022
@brunobat
Copy link
Contributor Author

This explains the experimental...
This attribute is true by default and enables normal execution of OpenTelemetry.
When set to false it will disable tracing, metrics, logs and propagators by setting providers to NOOP.
The current Java implementation can be seen here: https://github.com/open-telemetry/opentelemetry-java/blob/7d80a998460154c93a5a2bcc5eb1fdc90318aab2/sdk-extensions/autoconfigure/src/main/java/io/opentelemetry/sdk/autoconfigure/AutoConfiguredOpenTelemetrySdkBuilder.java#L314

@tigrannajaryan
Copy link
Member

Hmm, I may have misunderstood. I thought this is a semantic convention for an attribute, which doesn't seem to be the case. Is this a name for an environment variable? Please provide the full context and more details.

@brunobat
Copy link
Contributor Author

brunobat commented Jul 15, 2022

This is an environment variable allowing or disabling the operation OpenTelementry SDK. Edited on the 1st comment to make it clearer.
Documented here: https://github.com/open-telemetry/opentelemetry-java/blob/main/sdk-extensions/autoconfigure/README.md#disabling-opentelemetrysdk

@tigrannajaryan
Copy link
Member

The current env variables are defined here https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/sdk-environment-variables.md

The convention is to use underscores as word separators.

The proposed new env variable does make sense to me. I can see how one would want to disable the entire SDK (our default is to start sending to localhost OTLP which may not be desirable).

@tigrannajaryan tigrannajaryan added triaged-accepted The issue is triaged and accepted by the OTel community, one can proceed with creating a PR proposal and removed triaged-needmoreinfo The issue is triaged - the OTel community needs more information to decide labels Jul 15, 2022
@tigrannajaryan
Copy link
Member

Triaged as triaged-accepted. I am going to unassigned from myself. If anyone wants to take this and do a PR I can reassign.

@open-telemetry/specs-approvers I triaged as triaged-accepted, feel free to comment if you think otherwise.

@tigrannajaryan tigrannajaryan removed their assignment Jul 15, 2022
@tigrannajaryan tigrannajaryan added the help wanted Extra attention is needed label Jul 15, 2022
@jkwatson
Copy link
Contributor

jkwatson commented Jul 15, 2022

FYI, as written, otel.experimental.sdk.enabled is actually a java system property, not an env var. The corresponding env var is OTEL_EXPERIMENTAL_SDK_ENABLED.

@brunobat
Copy link
Contributor Author

Correct @jkwatson. Updated my 1st comment.
@tigrannajaryan I can create a PR to the spec, if it's ok.

@brunobat
Copy link
Contributor Author

This issue now depends on #2729

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:configuration Related to configuring the SDK area:sdk Related to the SDK help wanted Extra attention is needed spec:miscellaneous For issues that don't match any other spec label triaged-accepted The issue is triaged and accepted by the OTel community, one can proceed with creating a PR proposal
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants