Destinations¶
Exactly two destinations exist. Pick with OBSERVABILITY_TYPE.
postgres |
http |
|
|---|---|---|
| Where traces go | A PostgreSQL table, telemetry.proxy_traces |
Any HTTP endpoint, one POST per batch |
| Readable through Axium's API | Yes, GET /v1/observability/traces |
No (409 on that route) |
| Schema managed by Axium | Yes, created and migrated at startup | No, the receiver owns it |
| Formats | Table rows | envelope (JSON) or ndjson |
Computed fields (latency_ms, tokens_total, cost) |
Generated columns | You compute them |
| Authentication to the destination | In the DSN | OBSERVABILITY_HTTP_HEADERS |
| Timeout per write | 10 s to acquire a connection | 5 s per request |
| Good for | Getting started, small and medium volumes, querying from the console or SQL | Feeding ClickHouse, BigQuery, Datadog, Splunk, S3, a SIEM, or a collector |
Common behaviour (batching, drops, no retries) is described in the overview. Delivery details for each:
Not available¶
There is no console, file, OpenTelemetry/OTLP, Langfuse, OpenInference or vendor-native exporter in this version. All of those are reachable through the HTTP destination with a collector in between: an OpenTelemetry Collector or Vector can receive the NDJSON stream over HTTP and fan it out.
Choosing¶
- Start with
postgreson the same database. It costs nothing extra, the console can show traces, andtelemetry.proxy_tracesis a normal table you can query, export or replicate. - Move to
httpwhen you want traces in the same place as the rest of your telemetry, when volume grows beyond what you want in the transactional database, or when you need durable delivery through a collector. - You cannot run both at once. To get both, use
httpinto a collector that writes to PostgreSQL and elsewhere.