19
19
20
20
from pkg_resources import iter_entry_points
21
21
22
+ from opentelemetry .environment_variables import (
23
+ OTEL_PYTHON_METER_PROVIDER ,
24
+ OTEL_PYTHON_TRACER_PROVIDER ,
25
+ )
26
+
22
27
if TYPE_CHECKING :
23
28
from opentelemetry .metrics import MeterProvider
24
29
from opentelemetry .trace import TracerProvider
@@ -39,15 +44,18 @@ def time_ns() -> int:
39
44
return int (time .time () * 1e9 )
40
45
41
46
42
- def _load_provider (provider : str ) -> Provider :
47
+ def _load_provider (
48
+ provider_environment_variable : str , provider : str
49
+ ) -> Provider :
43
50
try :
44
51
entry_point = next (
45
52
iter_entry_points (
46
53
"opentelemetry_{}" .format (provider ),
47
54
name = cast (
48
55
str ,
49
56
environ .get (
50
- provider .upper (), "default_{}" .format (provider ),
57
+ provider_environment_variable ,
58
+ "default_{}" .format (provider ),
51
59
),
52
60
),
53
61
)
@@ -59,8 +67,13 @@ def _load_provider(provider: str) -> Provider:
59
67
60
68
61
69
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
+ )
63
73
64
74
65
75
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