Overview
OpenClaw can export telemetry through itsdiagnostics-otel plugin. Moda accepts that OTLP traffic at /v1/traces and maps OpenClaw session spans into conversation_logging.
1. Enable OpenClaw diagnostics
OpenClaw does not export OTLP by default. Enable the plugin and diagnostics keys once in your OpenClaw profile:2. Point OpenClaw to Moda
Set the OTLP endpoint and auth headers to Moda ingest:You can also use Moda SDK helpers to generate equivalent OTEL environment variables for OpenClaw subprocesses.
Node.js helper usage
Python helper usage
What gets ingested
For OpenClaw spans, Moda ingestion supports:openclaw.model.usageopenclaw.message.processed
openclaw.sessionId(preferred)openclaw.sessionKey(fallback)
Troubleshooting
No rows inconversation_logging?
- Verify
openclaw plugins listshowsdiagnostics-otelas enabled. - Verify
diagnostics.enabled=trueanddiagnostics.otel.enabled=true. - Verify endpoint is
https://moda-ingest.modas.workers.dev(without extra path suffixes). - Verify OTLP headers include
Authorization: Bearer <MODA_API_KEY>.
count: 0 from /v1/traces responses?
- Your ingest worker may be running an older build that does not parse
openclaw.*spans yet. - Deploy the ingest worker version that includes OpenClaw span extraction.