OpenClaw telemetry
Stream OpenClaw agent runs into Latitude as traces. After setup, agent runs appear in your project’s Traces view with model calls, tool calls, token usage, timing, agent names, and nested subagent activity.Prerequisites
- A Latitude account with a project
- OpenClaw installed locally
- Node.js available on your
PATH
Install
- In Latitude, copy your project slug from the project sidebar.
- Create or copy an API key from Settings → API Keys.
- Run the installer:
Restart and verify
Restart the OpenClaw gateway if the installer did not do it for you:Structural-only telemetry
If you want trace structure without prompt, response, or tool content, install with:Disable or uninstall
To pause telemetry, set the environment variable on the gateway process:Manual configuration
If you manage OpenClaw configuration yourself, install the plugin and add it to~/.openclaw/openclaw.json:
config.allowConversationAccess to false for structural-only telemetry while keeping hooks.allowConversationAccess set to true.
Captured data and privacy
By default, Latitude receives the content needed to reconstruct OpenClaw runs, including prompts, responses, system instructions, tool input/output, model metadata, and token usage.- Use
--no-contentwhen you only want structural telemetry. - Telemetry runs for each agent run until disabled or uninstalled.
- Disable telemetry before working with sensitive material you do not want sent to Latitude.
Custom redaction
If you want to keep content capture enabled but mask specific span attributes before they leave the gateway, add aredact block to config in ~/.openclaw/openclaw.json. Redaction happens locally, after the content gate and before the OTLP export.
redact.attributes accepts an array of patterns. Each pattern can be:
- An exact attribute name —
"gen_ai.tool.call.arguments" - A regex source string —
"^gen_ai\\.(input|output)\\.messages$"(anchored match) - A
/pattern/flagsstring —"/^gen_ai\\.tool\\.call\\.(arguments|result)$/i"
redact.mask sets the replacement value (default: ******). Set it to "[]" to replace message arrays with an empty array instead of a string.
Examples
Redact all prompt and response messages usingopenclaw config set:
~/.openclaw/openclaw.json directly:
Troubleshooting
No traces appear. Restart the gateway, confirm the API key and project slug are correct, and send a new agent message. Need more diagnostics. SetLATITUDE_DEBUG=1 on the gateway process and trigger another run.
Traces show timing but no content. Structural-only mode is enabled. Reinstall without --no-content or set config.allowConversationAccess to true.