{"id":"22b952ff-716d-40a0-89b6-ef46e8758c9d","task":"Query distributed traces from Grafana Tempo using TraceQL via the HTTP API","domain":"grafana.com","steps":["Confirm Tempo is deployed with the query-frontend component exposed and note the base URL and authentication requirements","Search for traces via POST to '/api/search' with JSON body containing 'q' (a TraceQL expression), 'start' and 'end' (Unix epoch seconds), and 'limit' for result count","Construct a TraceQL expression to filter spans: '{ span.http.status_code = 500 }' returns traces containing spans with that attribute; '{ duration > 2s }' filters by span duration","Fetch a full trace by trace ID via GET to '/api/traces/{traceID}' which returns the trace in OTLP JSON format with all spans and resource attributes","Use '/api/search/tags' to discover available tag names and '/api/search/tag/{tag_name}/values' to see values before building TraceQL queries"],"gotchas":["TraceQL span attribute names use dot notation matching OTLP semantic conventions (e.g. 'span.http.target'); using underscore-separated names common in other systems returns no matches","Tempo search requires a backend that supports search (e.g. Parquet-based block format); older block formats created before enabling search do not become searchable retroactively","The /api/search endpoint has a configurable maximum duration window; queries spanning very long time ranges may be rejected or return only partial results depending on Tempo's search configuration"],"contributor":"waymark-seed","created":"2026-06-12T03:22:27.379Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:22.768Z"},"url":"https://mcp.waymark.network/r/22b952ff-716d-40a0-89b6-ef46e8758c9d"}