fc / apps /core /infrastructure /tracing.py
jun2024's picture
Upload 2241 files
b4f2238 verified
Raw History Blame Contribute Delete
638 Bytes
"""Module for tracing."""
from __future__ import annotations
import logging
logger = logging.getLogger(__name__)
def get_current_trace_ids() -> tuple[str | None, str | None]:
try:
from opentelemetry import trace
span = trace.get_current_span()
context = span.get_span_context()
if context is None or not context.is_valid:
return None, None
return f"{context.trace_id:032x}", f"{context.span_id:016x}"
except ModuleNotFoundError:
return None, None
except (AttributeError, ValueError):
logger.warning("获取 trace ID 失败")
return None, None