praval.observability.tracing.tracer
OpenTelemetry-compatible Tracer implementation.
Functions
Generate a span ID (16-character hex string). |
|
Generate a trace ID (32-character hex string). |
|
|
Get the global tracer instance. |
Reset the global tracer to None. |
Classes
|
OpenTelemetry-compatible tracer for Praval. |
- praval.observability.tracing.tracer.generate_trace_id()[source]
Generate a trace ID (32-character hex string).
- Return type:
str- Returns:
Trace ID string
- praval.observability.tracing.tracer.generate_span_id()[source]
Generate a span ID (16-character hex string).
- Return type:
str- Returns:
Span ID string
- class praval.observability.tracing.tracer.Tracer(name='praval')[source]
Bases:
objectOpenTelemetry-compatible tracer for Praval.
Creates and manages spans for distributed tracing.
- Parameters:
name (str)
- start_span(name, parent=None, kind=SpanKind.INTERNAL, attributes=None)[source]
Start a new span.
- Parameters:
name (
str) – Span nameparent (
Optional[TraceContext]) – Parent trace context (optional)kind (
SpanKind) – Span kind (default: INTERNAL)attributes (
Optional[dict]) – Initial attributes (optional)
- Return type:
Span- Returns:
New Span instance or NoOpSpan if disabled
- start_as_current_span(name, parent=None, kind=SpanKind.INTERNAL, attributes=None)[source]
Start a new span and set it as current.
This is a context manager that automatically sets the span as current and clears it when done.
- Parameters:
name (
str) – Span nameparent (
Optional[TraceContext]) – Parent trace context (optional)kind (
SpanKind) – Span kind (default: INTERNAL)attributes (
Optional[dict]) – Initial attributes (optional)
- Returns:
Context manager for the span