Connect OpenRouter telemetry
OpenRouter Broadcast can send OTLP traces to txtop. The receiver and mapper are fixture-tested; as of 2026-08-11, the project has not recorded a real-account canary confirming every production attribute and cost field.
Start a receiver
Run the collector with its experimental OTLP/HTTP endpoint:
txtop up --otlp-http --otlp-http-listen 127.0.0.1:4318
OpenRouter must reach the receiver over public HTTPS. Put an authenticated reverse proxy or tunnel in front of the loopback listener and forward the trace path to:
http://127.0.0.1:4318/v1/traces
The txtop receiver does not provide TLS or authentication. Do not expose an
unauthenticated 0.0.0.0:4318 listener to the internet.
Configure Broadcast
- Open OpenRouter
Settings > Observabilityand enable Broadcast. - Add an OpenTelemetry Collector destination.
- Enter the public HTTPS endpoint, including
/v1/traces. - Add the reverse proxy’s authorization header when required.
- Keep Privacy Mode enabled if txtop only needs model, token, cost, and timing attributes.
- Test the connection, save it, then send one real OpenRouter request.
The empty dashboard connection test returns success without creating a fake usage event.
Verify the canary
Run:
txtop db doctor
txtop db doctor --json
A real trace should create a recent openrouter | otlp_http source success and
an event in events.db. Receiver-level errors indicate transport or payload
decoding failures.
Token mapping uses standard GenAI usage attributes and does not depend on prompt or completion content. Cost mapping remains provisional until a production payload confirms the attribute names; provider API polling remains the fallback for reported OpenRouter cost.
OpenRouter documents the current destination and payload behavior in Broadcast and OpenTelemetry Collector.