praval.observability.tracing.context

Trace context propagation.

Handles propagation of trace context through Spore metadata and thread-local storage.

Functions

clear_current_span()

Clear the currently active span from thread-local storage.

get_current_span()

Get the currently active span from thread-local storage.

set_current_span(span)

Set the currently active span in thread-local storage.

Classes

TraceContext(trace_id, span_id)

Trace context for propagation across agent boundaries.

class praval.observability.tracing.context.TraceContext(trace_id, span_id)[source]

Bases: object

Trace context for propagation across agent boundaries.

Parameters:
  • trace_id (str)

  • span_id (str)

__init__(trace_id, span_id)[source]

Initialize trace context.

Parameters:
  • trace_id (str) – Trace identifier

  • span_id (str) – Span identifier (parent for new spans)

classmethod from_span(span)[source]

Create trace context from a span.

Parameters:

span (Span) – Span to extract context from

Return type:

TraceContext

Returns:

TraceContext instance

classmethod from_spore(spore)[source]

Extract trace context from Spore metadata.

Parameters:

spore – Spore object

Return type:

Optional[TraceContext]

Returns:

TraceContext if found in metadata, None otherwise

inject_into_spore(spore)[source]

Inject trace context into Spore metadata.

Parameters:

spore – Spore object to inject context into

Return type:

None

classmethod current()[source]

Get current trace context from thread-local storage.

Return type:

Optional[TraceContext]

Returns:

TraceContext if available, None otherwise

praval.observability.tracing.context.get_current_span()[source]

Get the currently active span from thread-local storage.

Return type:

Optional[Span]

Returns:

Current Span if available, None otherwise

praval.observability.tracing.context.set_current_span(span)[source]

Set the currently active span in thread-local storage.

Parameters:

span (Optional[Span]) – Span to set as current, or None to clear

Return type:

None

praval.observability.tracing.context.clear_current_span()[source]

Clear the currently active span from thread-local storage.

Return type:

None