Version: 0.1.0
License: MIT
Package: traceagent
Lightweight Python observability SDK providing distributed tracing, span management, pluggable storage, function decorators, an MCP-compatible server, and a Rich terminal dashboard.
| Module | Purpose |
|---|---|
models |
Span, Trace, SpanStatus data classes |
tracer |
Tracer context-manager based span lifecycle |
storage |
InMemoryStorage, FileStorage backends |
decorators |
@trace, @trace_async function instrumentation |
mcp_server |
MCPServer exposing list_traces, get_trace, get_stats |
dashboard |
render_dashboard, render_trace via Rich |
from traceagent import get_tracer, trace
tracer = get_tracer()
# Context manager
with tracer.start_span("my-operation", attributes={"user": "alice"}) as span:
span.add_event("cache_miss")
# ... your code ...
# Decorator
@trace(name="process-request")
def handle(req):
...
# Dashboard
from traceagent.dashboard import render_dashboard
render_dashboard()from traceagent.mcp_server import MCPServer
server = MCPServer()
print(server.call_tool("get_stats"))from traceagent import FileStorage, Tracer
tracer = Tracer(storage=FileStorage("/tmp/traces"))