Skip to content

Commit b743ab1

Browse files
authored
Use environment variables for tracer and meter providers (#1571)
1 parent 30bb6a7 commit b743ab1

File tree

3 files changed

+23
-4
lines changed

3 files changed

+23
-4
lines changed

CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## [Unreleased](https://github.com/open-telemetry/opentelemetry-python/compare/v0.17b0...HEAD)
88

9+
### Changed
10+
- Tracer and Meter provider environment variables are now consistent with the rest
11+
([#1571](https://github.com/open-telemetry/opentelemetry-python/pull/1571)])
12+
913
### Added
1014
- Added `end_on_exit` argument to `start_as_current_span`
1115
([#1519](https://github.com/open-telemetry/opentelemetry-python/pull/1519)])

opentelemetry-api/src/opentelemetry/environment_variables/__init__.py

+2
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,5 @@
1919
OTEL_PYTHON_SERVICE_NAME = "OTEL_PYTHON_SERVICE_NAME"
2020
OTEL_TRACE_EXPORTER = "OTEL_TRACE_EXPORTER"
2121
OTEL_METRICS_EXPORTER = "OTEL_METRICS_EXPORTER"
22+
OTEL_PYTHON_TRACER_PROVIDER = "OTEL_PYTHON_TRACER_PROVIDER"
23+
OTEL_PYTHON_METER_PROVIDER = "OTEL_PYTHON_METER_PROVIDER"

opentelemetry-api/src/opentelemetry/util/__init__.py

+17-4
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@
1919

2020
from pkg_resources import iter_entry_points
2121

22+
from opentelemetry.environment_variables import (
23+
OTEL_PYTHON_METER_PROVIDER,
24+
OTEL_PYTHON_TRACER_PROVIDER,
25+
)
26+
2227
if TYPE_CHECKING:
2328
from opentelemetry.metrics import MeterProvider
2429
from opentelemetry.trace import TracerProvider
@@ -39,15 +44,18 @@ def time_ns() -> int:
3944
return int(time.time() * 1e9)
4045

4146

42-
def _load_provider(provider: str) -> Provider:
47+
def _load_provider(
48+
provider_environment_variable: str, provider: str
49+
) -> Provider:
4350
try:
4451
entry_point = next(
4552
iter_entry_points(
4653
"opentelemetry_{}".format(provider),
4754
name=cast(
4855
str,
4956
environ.get(
50-
provider.upper(), "default_{}".format(provider),
57+
provider_environment_variable,
58+
"default_{}".format(provider),
5159
),
5260
),
5361
)
@@ -59,8 +67,13 @@ def _load_provider(provider: str) -> Provider:
5967

6068

6169
def _load_meter_provider(provider: str) -> "MeterProvider":
62-
return cast("MeterProvider", _load_provider(provider))
70+
return cast(
71+
"MeterProvider", _load_provider(OTEL_PYTHON_METER_PROVIDER, provider),
72+
)
6373

6474

6575
def _load_trace_provider(provider: str) -> "TracerProvider":
66-
return cast("TracerProvider", _load_provider(provider))
76+
return cast(
77+
"TracerProvider",
78+
_load_provider(OTEL_PYTHON_TRACER_PROVIDER, provider),
79+
)

0 commit comments

Comments
 (0)