| name | obz-tempo |
| description | Grafana Tempo provider for obz. Covers trace search, trace retrieval by ID, and extension commands for tag discovery. This skill should be used when the user mentions "Tempo", "Grafana Tempo", "TraceQL", "obz trace -p tempo", or needs to search traces from a Tempo backend.
|
obz-tempo: Grafana Tempo Provider
Quick Reference
| Field | Value |
|---|
| Aliases | tempo |
| Signal | Trace |
| Query language | TraceQL |
| Auth | Bearer token or Basic auth |
| Provider flags | None |
| Supported cmds | search, get, tags, tag-values |
Supported Commands
Core trace commands
obz trace search # Search traces by service name or TraceQL
obz trace get # Retrieve a single trace by ID
Extension commands
obz trace tags # List available tag names grouped by scope
obz trace tag-values # List values for a specific tag (requires --tag)
Authentication
Configure auth in config.yaml under providers.<name>.auth. Supports
bearer token, basic auth, or no auth.
providers:
tempo:
endpoint: http://localhost:3200
auth:
token: ${env:TEMPO_TOKEN}
For basic auth (common with Grafana Cloud):
auth:
username: user
password: ${env:TEMPO_PASS}
Then query with just -p:
obz trace search -p tempo -q '{ resource.service.name = "frontend" }' --from now-1h
Query Format
The -q value must be a TraceQL expression.
obz trace search -p tempo -q '{ resource.service.name = "frontend" }' --from now-1h
TraceQL Basics
TraceQL is Tempo's native query language for filtering spans.
Span Selectors
{ span.http.status_code = 500 }
{ resource.service.name = "api" && span.http.method = "POST" }
{ duration > 2s }
{ status = error }
Common Attributes
resource.service.name, span.http.method, span.http.status_code,
span.http.url, duration, status (ok/error).
Examples
Search traces for a service:
obz trace search -p tempo -q '{ resource.service.name = "frontend" }' --from now-1h
Search for slow spans:
obz trace search -p tempo -q '{ duration > 5s }' --from now-6h
Search for error spans in a service:
obz trace search -p tempo \
-q '{ resource.service.name = "api" && status = error }' --from now-1h
Retrieve a specific trace by ID:
obz trace get -p tempo abc123def456
List available tag names:
obz trace tags -p tempo
List values for a tag:
obz trace tag-values -p tempo --tag resource.service.name