Skip to main content

obz-tempo

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.

Source facts

Repository
alibaba/obz-cli
Last source activity
April 29, 2026 at 07:18
Detected SKILL.md language
English
Stars
28
Forks
9

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
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. ```yaml # config.yaml providers: tempo: endpoint: http://localhost:3200 auth: token: ${env:TEMPO_TOKEN} ``` For basic auth (common with Grafana Cloud): ```yaml auth: username: user password: ${env:TEMPO_PASS} ``` Then query with just `-p`: ```bash obz trace search -p tempo -q '{ resource.service.name = "frontend" }' --from now-1h ``` ## Query Format The `-q` value must be a TraceQL expression. ```bash 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**: ```bash obz trace search -p tempo -q '{ resource.service.name = "frontend" }' --from now-1h ``` **Search for slow spans**: ```bash obz trace search -p tempo -q '{ duration > 5s }' --from now-6h ``` **Search for error spans in a service**: ```bash obz trace search -p tempo \ -q '{ resource.service.name = "api" && status = error }' --from now-1h ``` **Retrieve a specific trace by ID**: ```bash obz trace get -p tempo abc123def456 ``` **List available tag names**: ```bash obz trace tags -p tempo ``` **List values for a tag**: ```bash obz trace tag-values -p tempo --tag resource.service.name ```
View on GitHub