Tracing¶
Request tracing utilities.
Quick Example¶
from mamba_agents.observability import RequestTracer
tracer = RequestTracer()
# Start trace
tracer.start_trace()
# Create spans
with tracer.start_span("operation") as span:
span.set_attribute("model", "gpt-4o")
span.set_attribute("tokens", 1500)
# Do work...
# Nested spans
with tracer.start_span("parent") as parent:
with tracer.start_span("child") as child:
child.set_attribute("step", 1)
# End trace
trace = tracer.end_trace()
print(f"Duration: {trace.duration_seconds}s")
Trace Data¶
trace = tracer.end_trace()
print(f"Trace ID: {trace.trace_id}")
print(f"Duration: {trace.duration_seconds}s")
for span in trace.spans:
print(f"{span.name}: {span.duration_ms}ms")
for key, value in span.attributes.items():
print(f" {key}: {value}")
API Reference¶
RequestTracer
¶
Tracer for tracking requests through the agent.
Initialize the tracer.
| PARAMETER | DESCRIPTION |
|---|---|
service_name
|
Name of the service being traced.
TYPE:
|
Source code in src/mamba_agents/observability/tracing.py
start_trace
¶
Start a new trace.
| PARAMETER | DESCRIPTION |
|---|---|
attributes
|
Initial trace attributes.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
TraceContext
|
New TraceContext. |
Source code in src/mamba_agents/observability/tracing.py
end_trace
¶
End the current trace.
| RETURNS | DESCRIPTION |
|---|---|
TraceContext | None
|
Completed TraceContext or None. |
Source code in src/mamba_agents/observability/tracing.py
start_span
¶
start_span(name: str) -> Span
Start a new span.
| PARAMETER | DESCRIPTION |
|---|---|
name
|
Span name.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
Span
|
New Span. |
Source code in src/mamba_agents/observability/tracing.py
get_trace_context
¶
get_trace_header
¶
Get trace context as headers for propagation.
| RETURNS | DESCRIPTION |
|---|---|
dict[str, str]
|
Dictionary with traceparent header. |
Source code in src/mamba_agents/observability/tracing.py
from_header
classmethod
¶
from_header(traceparent: str) -> RequestTracer
Create tracer from incoming traceparent header.
| PARAMETER | DESCRIPTION |
|---|---|
traceparent
|
W3C traceparent header value.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
RequestTracer
|
RequestTracer with context restored. |
Source code in src/mamba_agents/observability/tracing.py
Span
¶
Span(
tracer: RequestTracer,
name: str,
parent_id: str | None = None,
)
A span representing a unit of work within a trace.
Initialize the span.
| PARAMETER | DESCRIPTION |
|---|---|
tracer
|
Parent tracer.
TYPE:
|
name
|
Span name.
TYPE:
|
parent_id
|
Parent span ID if nested.
TYPE:
|