Latitude observability for OpenClaw
Latitude is an open-source LLM observability and evaluation platform. It ingests OpenTelemetry traces, so OpenClaw activity becomes spans you can inspect, search, and evaluate, with token usage, cost, and latency aggregated at every level of the trace.
OpenClaw already exports OTLP/HTTP protobuf through its built-in
diagnostics-otel plugin. This skill configures that exporter to send traces to
Latitude. There is no extra code to install.
When to use
Use this when you want OpenClaw model-call, run, tool, and message spans to land in Latitude, or when someone asks how to wire OpenClaw telemetry into Latitude.
Prerequisites
-
A Latitude account and API key. Sign up at console.latitude.so, or self-host.
-
A Latitude project slug.
-
Set the credentials in your environment:
export LATITUDE_API_KEY=<your-api-key> export LATITUDE_PROJECT=<your-project-slug>
Configure
Enable the diagnostics-otel plugin and point diagnostics.otel at Latitude's
ingestion endpoint, authenticating with two headers. Add this to your OpenClaw
config (~/.openclaw/openclaw.json):
{
plugins: {
allow: ["diagnostics-otel"],
entries: {
"diagnostics-otel": { enabled: true },
},
},
diagnostics: {
enabled: true,
otel: {
enabled: true,
endpoint: "https://ingest.latitude.so",
protocol: "http/protobuf",
serviceName: "openclaw-gateway",
headers: {
Authorization: "Bearer ${LATITUDE_API_KEY}",
"X-Latitude-Project": "${LATITUDE_PROJECT}",
},
traces: true,
metrics: false,
logs: false,
},
},
}
For packaged installs, install the plugin first:
openclaw plugins install clawhub:@openclaw/diagnostics-otel
Notes
- OpenClaw appends
/v1/tracesto the baseendpoint, so setendpointtohttps://ingest.latitude.so(no path). If you self-host Latitude, point it at your own ingestion host instead. protocolmust behttp/protobuf. OpenClaw ignoresgrpctoday, and Latitude ingests OTLP/HTTP protobuf.- Latitude ingests OTLP traces, so this config leaves
metricsandlogsoff. Route those signals to a separate metrics or logs backend if you need them. - Raw prompt and response content is not exported by default. Enable
diagnostics.otel.captureContent.*only when your retention policy allows it.
Verify
Run an OpenClaw agent turn that calls a model and a tool, then open your project in the Latitude dashboard. You should see a trace with nested spans for the run, model call, and tool call, with token usage, cost, and latency aggregated per trace.
