How It Works
- Zero config — 103+ hooks register automatically on every flow
- Single trace ID — all spans in a request share the same W3C trace ID
- Privacy-safe session ID — a truncated SHA-256 hash, never the real session ID
- Zero overhead when unused — without a TracerProvider, all OTel calls are no-ops
- MCP-interoperable — uses
rpc.system = "mcp"andmcp.*attributes for cross-framework tracing
What Gets Instrumented
Every flow in the SDK is automatically traced:Logging vs Tracing
They’re complementary, not competing:
A log line says “what happened.” A span says “how long it took.” When both share the same
trace_id, platforms like Coralogix or Datadog show logs inline within a trace waterfall.
Learn More
Setup Guide
Step-by-step: install, configure backends, use this.telemetry
Telemetry API Reference
Full API for TelemetryAccessor, TelemetrySpan, and testing utilities
OpenTelemetry
OpenTelemetry documentation
Plugin System
How plugins hook into the request lifecycle