nat.plugins.opentelemetry.span_converter#

Attributes#

Classes#

Functions#

_get_shared_resource()

Get shared resource object to avoid repeated creation.

_get_shared_instrumentation_scope()

Get shared instrumentation scope to avoid repeated creation.

convert_event_type_to_span_kind(...)

Convert an event type to a span kind.

convert_span_status_code(→ opentelemetry.trace.StatusCode)

Convert NAT SpanStatusCode to OpenTelemetry StatusCode.

convert_span_to_otel(...)

Convert a NAT Span to an OtelSpan using ultra-fast conversion.

convert_spans_to_otel_batch(...)

Convert a list of NAT spans to OtelSpans using stateless conversion.

Module Contents#

logger#
SPAN_EVENT_TYPE_TO_SPAN_KIND_MAP#
class _SharedObjects#
resource = None#
instrumentation_scope = None#
_shared#
_SAMPLED_TRACE_FLAGS#
_get_shared_resource()#

Get shared resource object to avoid repeated creation.

_get_shared_instrumentation_scope()#

Get shared instrumentation scope to avoid repeated creation.

convert_event_type_to_span_kind(
event_type: str,
) openinference.semconv.trace.OpenInferenceSpanKindValues#

Convert an event type to a span kind.

Args:

event_type (str): The event type to convert

Returns:

OpenInferenceSpanKindValues: The corresponding span kind

convert_span_status_code(
nat_status_code: nat.data_models.span.SpanStatusCode,
) opentelemetry.trace.StatusCode#

Convert NAT SpanStatusCode to OpenTelemetry StatusCode.

Args:

nat_status_code (SpanStatusCode): The NAT span status code to convert

Returns:

StatusCode: The corresponding OpenTelemetry StatusCode

convert_span_to_otel(
nat_span: nat.data_models.span.Span,
) nat.plugins.opentelemetry.otel_span.OtelSpan#

Convert a NAT Span to an OtelSpan using ultra-fast conversion.

Args:

nat_span (Span): The NAT span to convert

Returns:

OtelSpan: The converted OtelSpan with proper parent hierarchy.

convert_spans_to_otel_batch(
spans: list[nat.data_models.span.Span],
) list[nat.plugins.opentelemetry.otel_span.OtelSpan]#

Convert a list of NAT spans to OtelSpans using stateless conversion.

This is useful for batch processing or demos. Each span is converted independently using the stateless approach.

Args:

spans (list[Span]): List of NAT spans to convert

Returns:

list[OtelSpan]: List of converted OtelSpans with proper parent-child relationships