Skip to content

Service Map Panel — Configuration

The panel is configured like any Grafana panel: add it to a dashboard, point it at a datasource that exposes Tempo service-graph metrics, and adjust the panel options.

Data requirements

The panel expects service-graph series (Prometheus-compatible). Typical queries:

# Request rate per edge (client → server)
sum by (client, server) (rate(traces_service_graph_request_total[$__rate_interval]))

# Error rate per edge
sum by (client, server) (rate(traces_service_graph_request_failed_total[$__rate_interval]))

# Latency (p99) per edge
histogram_quantile(0.99,
  sum by (client, server, le) (rate(traces_service_graph_request_server_seconds_bucket[$__rate_interval])))

The transform layer pairs client/server labels into edges and aggregates the metrics into node/edge health.

Panel options

Option Effect
Health thresholds Error-rate / latency cutoffs that drive node & edge coloring.
Traffic animation Toggle animated particles; density scales with request rate.
Node kind mapping Map label values to node kinds (service / database / queue / external) for styling.
Cascade / isolation Enable click-to-isolate upstream/downstream (multi-hop) filtering.
Drill-down target The Explore datasource/query template opened when drilling from a node/edge.

Local development

cd packages/staffops-servicemap-panel
cp .env.example .env      # set METRICS_URL and TEMPO_URL
# build + run a local Grafana with the panel (via Docker)

See Building & Testing for the Docker build commands.