This is an automated email from the ASF dual-hosted git repository.
eladkal pushed a commit to branch v3-0-test
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/v3-0-test by this push:
new 2c6894921ab [v3-0-test] fix mypy errors in otel_tracer (#52170)
(#52175)
2c6894921ab is described below
commit 2c6894921ab070e2c5be2a97477e352c36ed3ea4
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Wed Jun 25 19:47:32 2025 +0300
[v3-0-test] fix mypy errors in otel_tracer (#52170) (#52175)
(cherry picked from commit c6693cbd2880bc7727ec3455390d3549e8b2b873)
Co-authored-by: Christos Bisias <[email protected]>
---
airflow-core/src/airflow/traces/otel_tracer.py | 29 +++++++++++++-------------
1 file changed, 15 insertions(+), 14 deletions(-)
diff --git a/airflow-core/src/airflow/traces/otel_tracer.py
b/airflow-core/src/airflow/traces/otel_tracer.py
index d5e71e3f47e..34ee543a56d 100644
--- a/airflow-core/src/airflow/traces/otel_tracer.py
+++ b/airflow-core/src/airflow/traces/otel_tracer.py
@@ -19,6 +19,7 @@ from __future__ import annotations
import logging
import random
+from contextlib import AbstractContextManager
from typing import TYPE_CHECKING
from opentelemetry import trace
@@ -247,7 +248,7 @@ class OtelTrace:
links=None,
start_time=None,
start_as_current: bool = True,
- ):
+ ) -> AbstractContextManager[trace.span.Span] | trace.span.Span:
if component is None:
component = self.otel_service
@@ -260,24 +261,24 @@ class OtelTrace:
links = []
if start_as_current:
- span = tracer.start_as_current_span(
- name=span_name,
- context=parent_context,
- links=links,
- start_time=datetime_to_nano(start_time),
- )
- else:
- span = tracer.start_span(
+ return tracer.start_as_current_span(
name=span_name,
context=parent_context,
links=links,
start_time=datetime_to_nano(start_time),
)
- current_span_ctx =
trace.set_span_in_context(NonRecordingSpan(span.get_span_context()))
- # We have to manually make the span context as the active context.
- # If the span needs to be injected into the carrier, then this is
needed to make sure
- # that the injected context will point to the span context that
was just created.
- attach(current_span_ctx)
+
+ span = tracer.start_span(
+ name=span_name,
+ context=parent_context,
+ links=links,
+ start_time=datetime_to_nano(start_time),
+ )
+ current_span_ctx =
trace.set_span_in_context(NonRecordingSpan(span.get_span_context()))
+ # We have to manually make the span context as the active context.
+ # If the span needs to be injected into the carrier, then this is
needed to make sure
+ # that the injected context will point to the span context that was
just created.
+ attach(current_span_ctx)
return span
def inject(self) -> dict: