getpatter.call.id so you can group by call in your backend. Span names are identical across Python and TypeScript — one dashboard query covers both runtimes.
Enable tracing
Tracing is disabled by default. Set the env flag and callinitTracing once at process start:
PATTER_OTEL_ENABLED is not set, initTracing is a no-op and every span becomes a no-op — zero cost when disabled.
Emitted spans
PII hygiene
Patter never exports user utterances, tool payloads, or LLM content as span attributes. Only sizes, counts, and identifiers are emitted — traces are safe to ship to a shared Jaeger / Honeycomb / Grafana Cloud instance.Shutdown
CallshutdownTracing() during graceful shutdown to flush any pending spans:
Troubleshooting
No spans appear → confirmPATTER_OTEL_ENABLED=1 is set in the process that calls initTracing. Quick check:
otel/opentelemetry-collector-contrib or enable the HTTP receiver in your collector config.
