70
70
`set_tracer_provider`.
71
71
"""
72
72
73
- __all__ = [
74
- "DEFAULT_TRACE_OPTIONS" ,
75
- "DEFAULT_TRACE_STATE" ,
76
- "INVALID_SPAN" ,
77
- "INVALID_SPAN_CONTEXT" ,
78
- "INVALID_SPAN_ID" ,
79
- "INVALID_TRACE_ID" ,
80
- "DefaultSpan" ,
81
- "DefaultTracer" ,
82
- "DefaultTracerProvider" ,
83
- "LazyLink" ,
84
- "Link" ,
85
- "LinkBase" ,
86
- "ParentSpan" ,
87
- "Span" ,
88
- "SpanContext" ,
89
- "SpanKind" ,
90
- "TraceFlags" ,
91
- "TraceState" ,
92
- "TracerProvider" ,
93
- "Tracer" ,
94
- "format_span_id" ,
95
- "format_trace_id" ,
96
- "get_current_span" ,
97
- "get_tracer" ,
98
- "get_tracer_provider" ,
99
- "set_tracer_provider" ,
100
- "set_span_in_context" ,
101
- ]
102
73
103
74
import abc
104
75
import enum
105
- import types as python_types
106
76
import typing
107
77
from contextlib import contextmanager
108
78
from logging import getLogger
109
79
110
- from opentelemetry .configuration import Configuration
111
80
from opentelemetry .trace .propagation import (
112
81
get_current_span ,
113
82
set_span_in_context ,
@@ -461,11 +430,16 @@ def get_tracer(
461
430
462
431
463
432
def set_tracer_provider (tracer_provider : TracerProvider ) -> None :
464
- """Sets the current global :class:`~.TracerProvider` object."""
433
+ """Sets the current global :class:`~.TracerProvider` object.
434
+
435
+ This can only be done once, a warning will be logged if any furter attempt
436
+ is made.
437
+ """
465
438
global _TRACER_PROVIDER # pylint: disable=global-statement
466
439
467
440
if _TRACER_PROVIDER is not None :
468
- logger .warning ("Overriding current TracerProvider" )
441
+ logger .warning ("Overriding of current TracerProvider is not allowed" )
442
+ return
469
443
470
444
_TRACER_PROVIDER = tracer_provider
471
445
@@ -478,3 +452,35 @@ def get_tracer_provider() -> TracerProvider:
478
452
_TRACER_PROVIDER = _load_trace_provider ("tracer_provider" )
479
453
480
454
return _TRACER_PROVIDER
455
+
456
+
457
+ __all__ = [
458
+ "DEFAULT_TRACE_OPTIONS" ,
459
+ "DEFAULT_TRACE_STATE" ,
460
+ "INVALID_SPAN" ,
461
+ "INVALID_SPAN_CONTEXT" ,
462
+ "INVALID_SPAN_ID" ,
463
+ "INVALID_TRACE_ID" ,
464
+ "DefaultSpan" ,
465
+ "DefaultTracer" ,
466
+ "DefaultTracerProvider" ,
467
+ "LazyLink" ,
468
+ "Link" ,
469
+ "LinkBase" ,
470
+ "ParentSpan" ,
471
+ "Span" ,
472
+ "SpanContext" ,
473
+ "SpanKind" ,
474
+ "TraceFlags" ,
475
+ "TraceState" ,
476
+ "TracerProvider" ,
477
+ "Tracer" ,
478
+ "format_span_id" ,
479
+ "format_trace_id" ,
480
+ "get_current_span" ,
481
+ "get_tracer" ,
482
+ "get_tracer_provider" ,
483
+ "set_tracer_provider" ,
484
+ "set_span_in_context" ,
485
+ "Status" ,
486
+ ]
0 commit comments