7070 `set_tracer_provider`.
7171"""
7272
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- ]
10273
10374import abc
10475import enum
105- import types as python_types
10676import typing
10777from contextlib import contextmanager
10878from logging import getLogger
10979
110- from opentelemetry .configuration import Configuration
11180from opentelemetry .trace .propagation import (
11281 get_current_span ,
11382 set_span_in_context ,
@@ -461,11 +430,16 @@ def get_tracer(
461430
462431
463432def 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+ """
465438 global _TRACER_PROVIDER # pylint: disable=global-statement
466439
467440 if _TRACER_PROVIDER is not None :
468- logger .warning ("Overriding current TracerProvider" )
441+ logger .warning ("Overriding of current TracerProvider is not allowed" )
442+ return
469443
470444 _TRACER_PROVIDER = tracer_provider
471445
@@ -478,3 +452,35 @@ def get_tracer_provider() -> TracerProvider:
478452 _TRACER_PROVIDER = _load_trace_provider ("tracer_provider" )
479453
480454 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