Skip to content

Correlate traces, logs and browser sessions

Attach the active OpenTelemetry trace ID and span ID to log records through a logger integration. OTLP log records have dedicated trace/span fields; custom JSON accepts supported trace_id/span_id fields. IDs must be valid and nonzero; a matching service name or timestamp alone does not link a log to a trace.

Open a recorded trace and its correlated Logs, Errors, metrics or browser context. Links retain the selected time window and signal permissions. An exemplar refers to a real recorded sample; an expired, unsampled or restricted target is shown as unavailable. Trace and log retention can differ.

The RUM client token is public and separate from a server ingest key. Enable distributed trace propagation only for URLs you control. List those URL prefixes in the RUM application’s Add trace headers for setting (trace_urls). Never propagate server Authorization or a Site Qwality ingest key into a browser request.

For cross-origin requests, allow the intended frontend origin and the traceparent and tracestate request headers in your backend CORS configuration. Handle OPTIONS correctly. Permit credentials only when your application needs them and avoid a wildcard origin with credentials. Limit URL prefixes so third-party hosts do not receive trace context.

The trace sample rate setting (capture.network.trace_sample_rate) needs RUM SDK 2.3.0 or later. Earlier versions mark every propagated request as sampled. See the RUM quickstart for the install path.

Replay links also require a retained replay, consent and sampling eligibility, and replay access; correlation does not enable recording or grant data access. Synthetic checks and browser checks use their own configured propagation.