From 1d6257137355e5cc0d7c0f82b8d48d6bbe23fa9d Mon Sep 17 00:00:00 2001 From: Riccardo Magliocchetti Date: Fri, 12 Sep 2025 12:55:53 +0200 Subject: [PATCH 1/2] opentelemetry-sdk: fixup some pyright warnings And then remove a bunch of dirs from the exclude list. --- .../src/opentelemetry/sdk/trace/export/__init__.py | 7 +++++-- pyproject.toml | 3 --- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/trace/export/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/trace/export/__init__.py index 9e7557b05af..887f391b61e 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/trace/export/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/trace/export/__init__.py @@ -72,18 +72,21 @@ def export( Returns: The result of the export """ + ... def shutdown(self) -> None: """Shuts down the exporter. Called when the SDK is shut down. """ + ... def force_flush(self, timeout_millis: int = 30000) -> bool: """Hint to ensure that the export of any spans the exporter has received prior to the call to ForceFlush SHOULD be completed as soon as possible, preferably before returning from this method. """ + ... class SimpleSpanProcessor(SpanProcessor): @@ -102,7 +105,7 @@ def on_start( pass def on_end(self, span: ReadableSpan) -> None: - if not span.context.trace_flags.sampled: + if span.context and not span.context.trace_flags.sampled: return token = attach(set_value(_SUPPRESS_INSTRUMENTATION_KEY, True)) try: @@ -188,7 +191,7 @@ def on_start( pass def on_end(self, span: ReadableSpan) -> None: - if not span.context.trace_flags.sampled: + if span.context and not span.context.trace_flags.sampled: return self._batch_processor.emit(span) diff --git a/pyproject.toml b/pyproject.toml index b62b0cdeba6..4ec4b706df9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -111,11 +111,8 @@ exclude = [ "opentelemetry-sdk/tests", "opentelemetry-sdk/src/opentelemetry/sdk/_events", "opentelemetry-sdk/src/opentelemetry/sdk/_logs", - "opentelemetry-sdk/src/opentelemetry/sdk/error_handler", "opentelemetry-sdk/src/opentelemetry/sdk/metrics", - "opentelemetry-sdk/src/opentelemetry/sdk/trace/export", "opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py", - "opentelemetry-sdk/src/opentelemetry/sdk/util", "opentelemetry-sdk/benchmarks", ] From fd382c903489bc442adad70c2819100ca3ec1be0 Mon Sep 17 00:00:00 2001 From: Riccardo Magliocchetti Date: Fri, 12 Sep 2025 13:04:46 +0200 Subject: [PATCH 2/2] More trivial typing for sdk --- opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py index a1c0576520e..d0f228e76d6 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py @@ -112,6 +112,7 @@ def on_start( span: The :class:`opentelemetry.trace.Span` that just started. parent_context: The parent context of the span that just started. """ + ... def on_end(self, span: "ReadableSpan") -> None: """Called when a :class:`opentelemetry.trace.Span` is ended. @@ -122,9 +123,11 @@ def on_end(self, span: "ReadableSpan") -> None: Args: span: The :class:`opentelemetry.trace.Span` that just ended. """ + ... def shutdown(self) -> None: """Called when a :class:`opentelemetry.sdk.trace.TracerProvider` is shutdown.""" + ... def force_flush(self, timeout_millis: int = 30000) -> bool: """Export all ended spans to the configured Exporter that have not yet @@ -137,6 +140,7 @@ def force_flush(self, timeout_millis: int = 30000) -> bool: Returns: False if the timeout is exceeded, True otherwise. """ + ... # Temporary fix until https://github.com/PyCQA/pylint/issues/4098 is resolved @@ -273,7 +277,7 @@ def force_flush(self, timeout_millis: int = 30000) -> bool: timeout, False otherwise. """ futures = [] - for sp in self._span_processors: # type: SpanProcessor + for sp in self._span_processors: future = self._executor.submit(sp.force_flush, timeout_millis) futures.append(future)