Skip to main content
Rootprint ingests OpenTelemetry spans over OTLP and pairs them with your logs. A log carrying a trace ID opens the trace it belongs to, and every span in that trace links back to the logs it produced.
A trace in Rootprint: a 24-span waterfall colored by service, with the selected span's Overview tab showing status, HTTP method, timing, and top operations
A trace opens as a waterfall. Spans are colored by service, the header carries the root operation and total duration, and selecting a span opens its details beside the waterfall. Logs for this trace jumps to the logs those spans produced.

The span store

Every span goes into one Quickwit index, the span store, named by the TRACE_INDEX_ID environment variable. It defaults to otel-traces-v0_9. Spans always land there regardless of which index the ingest key was created against. There is no per-key span destination. The span store is not readable as a log index. The log explorer, histogram, field-values, and export endpoints all reject it with 404.

How you reach a trace

There are exactly two ways in:
  • From a log. Open a log in the detail drawer and switch to the Trace tab.
  • By trace ID. Paste a trace ID — 32 hexadecimal characters — into the log search box.

Trace retention and time ranges

Opening a trace runs a raw trace_id search with no time bound, so a trace stays openable for as long as its spans are retained. The search window you had applied to your logs does not limit it.

Limits

Trace IDs are not authorization. The trace endpoint is not nested under an index, so there is no per-index gate on it. This matches log search, where the same holds for any index a key can reach.

Requirements

  • Quickwit 0.9.0 or later. See Environment variables.
  • An ingest API key. Any existing key works — you do not create a separate one for spans.

Next steps

Send traces

Point an OpenTelemetry SDK or Collector at the trace endpoint.

Read a trace

The waterfall, span details, and correlating spans with logs.