4444from opentelemetry .sdk .metrics .view import ExponentialBucketHistogramAggregation , View
4545from opentelemetry .sdk .resources import Resource
4646from opentelemetry .sdk .trace import SpanProcessor , TracerProvider as SDKTracerProvider
47- from opentelemetry .sdk .trace .export import BatchSpanProcessor , SimpleSpanProcessor , SpanExporter
47+ from opentelemetry .sdk .trace .export import BatchSpanProcessor , SimpleSpanProcessor
4848from opentelemetry .sdk .trace .id_generator import IdGenerator , RandomIdGenerator
4949from opentelemetry .sdk .trace .sampling import ParentBasedTraceIdRatio
5050from opentelemetry .semconv .resource import ResourceAttributes
@@ -162,7 +162,6 @@ def configure(
162162 ns_timestamp_generator : Callable [[], int ] | None = None ,
163163 processors : None = None ,
164164 additional_span_processors : Sequence [SpanProcessor ] | None = None ,
165- default_span_processor : Callable [[SpanExporter ], SpanProcessor ] | None = None ,
166165 metric_readers : None = None ,
167166 additional_metric_readers : Sequence [MetricReader ] | None = None ,
168167 pydantic_plugin : PydanticPlugin | None = None ,
@@ -205,9 +204,6 @@ def configure(
205204 Python standard library.
206205 processors: Legacy argument, use `additional_span_processors` instead.
207206 additional_span_processors: Span processors to use in addition to the default processor which exports spans to Logfire's API.
208- default_span_processor: A function to create the default span processor. Defaults to `BatchSpanProcessor` from the OpenTelemetry SDK. You can configure the export delay for
209- [`BatchSpanProcessor`](https://opentelemetry-python.readthedocs.io/en/latest/sdk/trace.export.html#opentelemetry.sdk.trace.export.BatchSpanProcessor)
210- by setting the `OTEL_BSP_SCHEDULE_DELAY_MILLIS` environment variable.
211207 metric_readers: Legacy argument, use `additional_metric_readers` instead.
212208 additional_metric_readers: Sequence of metric readers to be used in addition to the default reader
213209 which exports metrics to Logfire's API.
@@ -275,7 +271,6 @@ def configure(
275271 id_generator = id_generator ,
276272 ns_timestamp_generator = ns_timestamp_generator ,
277273 additional_span_processors = additional_span_processors ,
278- default_span_processor = default_span_processor ,
279274 additional_metric_readers = additional_metric_readers ,
280275 pydantic_plugin = pydantic_plugin ,
281276 fast_shutdown = fast_shutdown ,
@@ -346,9 +341,6 @@ class _LogfireConfigData:
346341 pydantic_plugin : PydanticPlugin
347342 """Options for the Pydantic plugin"""
348343
349- default_span_processor : Callable [[SpanExporter ], SpanProcessor ]
350- """The span processor used for the logfire exporter and console exporter"""
351-
352344 fast_shutdown : bool
353345 """Whether to shut down exporters and providers quickly, mostly used for tests"""
354346
@@ -380,7 +372,6 @@ def _load_configuration(
380372 id_generator : IdGenerator | None ,
381373 ns_timestamp_generator : Callable [[], int ] | None ,
382374 additional_span_processors : Sequence [SpanProcessor ] | None ,
383- default_span_processor : Callable [[SpanExporter ], SpanProcessor ] | None ,
384375 additional_metric_readers : Sequence [MetricReader ] | None ,
385376 pydantic_plugin : PydanticPlugin | None ,
386377 fast_shutdown : bool ,
@@ -454,7 +445,6 @@ def _load_configuration(
454445 self .id_generator = id_generator or RandomIdGenerator ()
455446 self .ns_timestamp_generator = ns_timestamp_generator or time .time_ns
456447 self .additional_span_processors = additional_span_processors
457- self .default_span_processor = default_span_processor or _get_default_span_processor
458448 self .additional_metric_readers = additional_metric_readers
459449 if self .service_version is None :
460450 try :
@@ -482,7 +472,6 @@ def __init__(
482472 id_generator : IdGenerator | None = None ,
483473 ns_timestamp_generator : Callable [[], int ] | None = None ,
484474 additional_span_processors : Sequence [SpanProcessor ] | None = None ,
485- default_span_processor : Callable [[SpanExporter ], SpanProcessor ] | None = None ,
486475 additional_metric_readers : Sequence [MetricReader ] | None = None ,
487476 pydantic_plugin : PydanticPlugin | None = None ,
488477 fast_shutdown : bool = False ,
@@ -513,7 +502,6 @@ def __init__(
513502 id_generator = id_generator ,
514503 ns_timestamp_generator = ns_timestamp_generator ,
515504 additional_span_processors = additional_span_processors ,
516- default_span_processor = default_span_processor ,
517505 additional_metric_readers = additional_metric_readers ,
518506 pydantic_plugin = pydantic_plugin ,
519507 fast_shutdown = fast_shutdown ,
@@ -548,7 +536,6 @@ def configure(
548536 id_generator : IdGenerator | None ,
549537 ns_timestamp_generator : Callable [[], int ] | None ,
550538 additional_span_processors : Sequence [SpanProcessor ] | None ,
551- default_span_processor : Callable [[SpanExporter ], SpanProcessor ] | None ,
552539 additional_metric_readers : Sequence [MetricReader ] | None ,
553540 pydantic_plugin : PydanticPlugin | None ,
554541 fast_shutdown : bool ,
@@ -573,7 +560,6 @@ def configure(
573560 id_generator ,
574561 ns_timestamp_generator ,
575562 additional_span_processors ,
576- default_span_processor ,
577563 additional_metric_readers ,
578564 pydantic_plugin ,
579565 fast_shutdown ,
@@ -719,7 +705,8 @@ def check_token():
719705 span_exporter , FileSpanExporter (self .data_dir / DEFAULT_FALLBACK_FILE_NAME , warn = True )
720706 )
721707 span_exporter = RemovePendingSpansExporter (span_exporter )
722- add_span_processor (self .default_span_processor (span_exporter ))
708+ schedule_delay_millis = _get_int_from_env (OTEL_BSP_SCHEDULE_DELAY ) or 500
709+ add_span_processor (BatchSpanProcessor (span_exporter , schedule_delay_millis = schedule_delay_millis ))
723710
724711 metric_readers += [
725712 PeriodicExportingMetricReader (
@@ -905,11 +892,6 @@ def wrapper(*args: Any, **kwargs: Any) -> Any:
905892 traceback .print_exception (e )
906893
907894
908- def _get_default_span_processor (exporter : SpanExporter ) -> SpanProcessor :
909- schedule_delay_millis = _get_int_from_env (OTEL_BSP_SCHEDULE_DELAY ) or 500
910- return BatchSpanProcessor (exporter , schedule_delay_millis = schedule_delay_millis )
911-
912-
913895# The global config is the single global object in logfire
914896# It also does not initialize anything when it's created (right now)
915897# but when `logfire.configure` aka `GLOBAL_CONFIG.configure` is called
0 commit comments