Destinations
SpanDock receives OpenTelemetry from your AI tools and forwards it to the backends you choose. Every enabled destination receives each signal it supports, at the same time, with the original bytes the tool sent. You can mix any number of destinations, and the local store keeps a copy for the dashboard.
Where signals arrive
SpanDock accepts OTLP/HTTP, in protobuf or JSON, at:
http://127.0.0.1:4318/v1/traces
http://127.0.0.1:4318/v1/logs
http://127.0.0.1:4318/v1/metrics
The port can be changed in Settings. The tools you set up under Integrations are pointed here for you.
On a client, everything goes to its server instead, and the server forwards it to the destinations. While the server can't be reached, the client queues the data on disk.
Destination types
Add destinations on the server (or a standalone install) under Destinations.
| Destination | Traces | Logs | Metrics |
|---|---|---|---|
| Local store | Yes | Yes | Yes |
| Langfuse | Yes | Kept in the local store | Kept in the local store |
| Grafana Cloud | Yes | Yes | Yes |
| New Relic | Yes | Yes | Yes |
| Generic OTLP/HTTP | Yes | Yes | Yes |
- Local store: the embedded database that powers the dashboard. It is always on for a server, and optional for clients and standalone installs.
- Langfuse accepts traces only. Logs and metrics are still kept in the local store. With a Langfuse destination, the server's Analytics page shows Langfuse cost, tokens, latency and models. It never retrieves prompt or tool payloads.
- Grafana Cloud and New Relic take all three signals.
- Generic OTLP/HTTP sends to any OpenTelemetry collector or backend. It can't point at SpanDock's own OTLP port.
Delivery
- A tool gets a success answer when at least one destination accepted the data, so a retry never duplicates data at destinations that already have it.
- Each record shows its delivery outcome per destination in Activity: forwarded, partial, failed, stored locally only, or queued while a client is offline.
- Replays and retries are safe: records have stable IDs and are stored only once.
Security
- HTTPS is required for every destination endpoint, except localhost.
- Secrets such as API keys and passwords are kept in the OS credential store: macOS Keychain, Windows Credential Manager, or the Linux Secret Service. On a machine without one, they are kept in a file readable only by your user. They are never written to the settings file.
- With satellites, the hub shares destination secrets with its satellites in encrypted form, so each satellite can forward on its own.
Retention
The local store keeps records for 30 days and up to 2 GB by default. Change both under Settings → Local database. A value of 0 means unlimited.
The oldest records are removed first, and the file is compacted so the space really returns to the disk. Retention runs at startup, every hour, and whenever you change the policy. A server can also set retention for its clients' local copies under Clients → Client defaults or Edit settings.
Costs
When a tool reports tokens but no cost, SpanDock estimates the cost from a price catalogue before storing the record. A cost the tool reports itself always wins. See Model proxy and budgets for how prices are chosen and overridden.
Exploring the data
The Database page is a read-only SQL explorer for the local store, with a schema browser, example queries and CSV export. Only single SELECT queries run. They can't change data, read files or reach the network.