Workflow: Missing Traces Diagnostic
Troubleshooting why expected distributed trace data is missing from Grafana Tempo.
Step 1: Verify Backend Reachability & Ingester Health
Inspect the health of Tempo ring members, compactors, and ingesters:
tempo_get_diagnostics()
Confirm that the backend is in ready status and ingester ring tokens are balanced.
Step 2: Test Broadest Possible Search
Execute a query with an empty filter to verify that any span data is arriving in the storage blocks:
tempo_traceql_search(
q='{}',
limit=5,
start="15m"
)
Step 3: Audit Sampling Drops & Multi-Tenant Headers
If empty searches return no results, audit these common failure points:
- Client-Side Head Sampling: Check
InstrumentationCRDs to ensure aggressive head samplers (traceidratio: 0.01) are not discarding 99% of requests before transmission. - Collector Tail Sampling: Audit collector drop policies to confirm spans are not being filtered out.
- Multi-Tenant Headers: Verify that the client's
X-Scope-OrgIDheader matches the tenant identifier configured in your Tempo distributor and querier.