Skip to main content
Rootprint accepts OTLP spans at a single endpoint, authenticated with an ingest API key. Spans go to the span store, not to the key’s index. See Traces.

Endpoint

Authentication

Any existing ingest API key works. Create one at Settings → API keys if you do not have one.

Supported content types

Rootprint accepts application/x-protobuf only. Any other Content-Type returns 415 Unsupported Media Type.
The JavaScript package @opentelemetry/exporter-trace-otlp-http defaults to JSON. Switch to @opentelemetry/exporter-trace-otlp-proto (same OTLPTraceExporter API).

Environment variables

The endpoint variable takes the full path, not a base URL.
The %20 after Bearer is required: OpenTelemetry SDKs expect URL-encoded values in OTEL_EXPORTER_OTLP_TRACES_HEADERS.

Set up your service

Install the zero-code agent. opentelemetry-bootstrap adds instrumentation for the libraries you have installed, such as Flask, Django, FastAPI, requests, and psycopg.
Set the environment.
Run your app under the agent. Exercise a route and the spans are batched and exported within a few seconds.

Correlate spans with logs

Ship logs from the same service as well, and Rootprint pairs logs and spans by trace ID. See Send logs and Correlate logs with traces. With the Collector, log records need trace context: from an OpenTelemetry log appender in the application, or a trace_parser operator that reads the trace ID out of tailed lines.

Response codes

See POST /v1/traces for every status and the error encoding.