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

Support configuration of the SDK with environment variables #1698

Closed
1 of 19 tasks
MrAlias opened this issue Mar 12, 2021 · 4 comments
Closed
1 of 19 tasks

Support configuration of the SDK with environment variables #1698

MrAlias opened this issue Mar 12, 2021 · 4 comments
Labels
pkg:exporter:jaeger Related to the Jaeger exporter package pkg:exporter:zipkin Related to the Zipkin exporter package pkg:SDK Related to an SDK package
Milestone

Comments

@MrAlias
Copy link
Contributor

MrAlias commented Mar 12, 2021

The specification states:

SDKs MAY choose to allow configuration via the environment variables in this specification, but are not required to. If they do, they SHOULD use the names listed in this document.

Currently we only support the OTEL_RESOURCE_ATTRIBUTES environment variable and have plans to support the OTLP exporter configuration via environment variables.

To accelerate the release of a stable 1.0.0 release we have postponed implementing this. After this release we need to implement the specified environment variables to support users requiring this.

  • OTEL_RESOURCE_ATTRIBUTES
  • OTEL_LOG_LEVEL
  • OTEL_PROPAGATORS
  • OTEL_TRACES_SAMPLER
  • OTEL_TRACES_SAMPLER_ARG
  • OTEL_BSP_SCHEDULE_DELAY
  • OTEL_BSP_EXPORT_TIMEOUT
  • OTEL_BSP_MAX_QUEUE_SIZE
  • OTEL_BSP_MAX_EXPORT_BATCH_SIZE
  • OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT
  • OTEL_SPAN_EVENT_COUNT_LIMIT
  • OTEL_SPAN_LINK_COUNT_LIMIT
  • OTEL_EXPORTER_JAEGER_AGENT_HOST
  • OTEL_EXPORTER_JAEGER_AGENT_PORT
  • OTEL_EXPORTER_JAEGER_ENDPOINT
  • OTEL_EXPORTER_JAEGER_USER
  • OTEL_EXPORTER_JAEGER_PASSWORD
  • OTEL_EXPORTER_ZIPKIN_ENDPOINT
  • OTEL_TRACES_EXPORTER
@MrAlias
Copy link
Contributor Author

MrAlias commented Oct 19, 2021

Many of these environment variables require the ability to dynamically load a library if we do not want to have the SDK depend on everything. We could consider using https://pkg.go.dev/plugin to achieve this. Though, it should be fully evaluated as this looks like it will bypass many stability guarantees of the Go language and it is not compatible with all supported operating systems.

@MrAlias
Copy link
Contributor Author

MrAlias commented Oct 19, 2021

When implementing OTEL_LOG_LEVEL we will need to remain consistent with other language logging levels open-telemetry/opentelemetry-specification#2039

@MrAlias
Copy link
Contributor Author

MrAlias commented Oct 19, 2021

This issue is tracking too many things. I'm going to split it into component pieces so they can be addressed independently.

@MrAlias
Copy link
Contributor Author

MrAlias commented Oct 19, 2021

Closing and tracking this work with all the linked issues opened to replace this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pkg:exporter:jaeger Related to the Jaeger exporter package pkg:exporter:zipkin Related to the Zipkin exporter package pkg:SDK Related to an SDK package
Projects
None yet
Development

No branches or pull requests

2 participants