Grafana Panel Types Selection Prompt
Choose the right Grafana panel — timeseries vs stat vs gauge vs bar gauge vs heatmap vs table; visualization principles for each.
- Target user
- Engineers designing Grafana dashboards
- Difficulty
- Intermediate
- Tools
- Claude, ChatGPT
The prompt
You are a senior SRE who has built hundreds of Grafana dashboards and knows the visualization principles behind each panel type. I will provide: - The data being visualized - The audience (NOC, dev, exec) - Current panel choice + symptom (confusing, slow, wrong story) Your job: 1. **Panel type matrix**: - **Time series** — values over time; default for trends - **Stat** — single number prominently; current state - **Gauge** — single value within range; "fuel gauge" - **Bar gauge** — multiple values as horizontal bars; comparison - **Heatmap** — distribution over time (latency, histogram) - **Histogram** — distribution at a moment; one snapshot - **Table** — tabular data; top-N - **Pie chart** — proportions (use sparingly; bar chart often better) - **Logs** — log lines, queries against Loki - **Geomap** — geographic data - **Node graph** — service topology - **State timeline** — discrete states over time - **Status history** — sparse events; heatmap of states - **Canvas** — custom visualization with shapes - **Trend** — sparkline-style 2. **For "story" picking**: - "Is it healthy?" → Stat with thresholds - "How is it trending?" → Time series - "Where is it concentrated?" → Heatmap - "What's worst?" → Table sorted, top-N - "What's the breakdown?" → Bar gauge 3. **For stat panel**: - Big number; single value - Threshold colors green/yellow/red - Useful for SLO compliance, availability 4. **For heatmap**: - 2D: time × bucket - Color = count - Great for latency over time - Pair with histogram metric 5. **For table**: - Sortable - Filterable - Per-row coloring - Use for top-N (top errors, slowest endpoints) 6. **For time series**: - Default; sometimes overused - Multiple series → legend pollution - Use bar chart for fewer time points 7. **For audience-specific**: - NOC: large stat panels, visual alerting - Developer: time series with detail - Exec: stat with simple thresholds Mark DESTRUCTIVE: replacing panels mid-incident (confuses on-call), removing thresholds without alerting alternative, abuse of pie charts. --- Data: [DESCRIBE] Audience: [DESCRIBE] Current panel: [DESCRIBE]
Why this prompt works
Panel choice signals data story. Wrong choice confuses. This prompt walks the choices.
How to use it
- Define the story first.
- Pick panel matching question.
- Test with target audience.
- Simplify before adding.
Panel decision tree
What story?
"Is this OK right now?" → Stat with thresholds
"How is it trending?" → Time series
"Where do values cluster?" → Heatmap
"Top contributors?" → Table sorted, top-N
"Status of many entities?" → Bar gauge or state timeline
"Spatial distribution?" → Geomap
"Service dependencies?" → Node graph
"Discrete state changes?" → State timeline
Patterns
NOC stat panel
{
"type": "stat",
"title": "API Availability",
"targets": [{ "expr": "avg(slo:availability)" }],
"fieldConfig": {
"defaults": {
"thresholds": {
"steps": [
{ "value": null, "color": "red" },
{ "value": 99.0, "color": "yellow" },
{ "value": 99.9, "color": "green" }
]
},
"unit": "percent"
}
}
}
Latency heatmap
{
"type": "heatmap",
"title": "Request Latency Distribution",
"targets": [{
"expr": "sum by (le)(rate(http_request_duration_seconds_bucket[5m]))",
"format": "heatmap"
}],
"options": {
"calculate": false,
"yAxis": { "unit": "s", "reverse": false }
}
}
Top errors table
{
"type": "table",
"title": "Top Errors",
"targets": [{
"expr": "topk(10, sum by (job)(rate(errors_total[5m])))",
"format": "table",
"instant": true
}],
"transformations": [
{ "id": "organize", "options": { "renameByName": { "Value": "Rate" } } }
]
}
Common findings this catches
- Time series with 100 series → legend useless; aggregate.
- Stat panel with no threshold → just a number; add color.
- Heatmap without buckets → flat colors; check metric.
- Pie chart of latency percentages → use bar.
- Table with no sorting → not actionable.
- Wrong unit on Stat → wrong scale.
- Gauge for cumulative counter → meaningless; use stat with rate.
When to escalate
- Dashboard standardization across teams.
- Org viz guidelines.
- New panel type rollout (newer Grafana versions).
Related prompts
-
Grafana Heatmap & Histogram Visualization Prompt
Configure Grafana heatmaps for latency distribution — bucket binning, classic vs new heatmap, histogram source data.
-
Grafana Stat Panels, Thresholds & SLA Visualization Prompt
Design stat panels with threshold colors, SLA compliance visualization, multi-value stat layouts.
-
Grafana Time Series Best Practices Prompt
Build readable time series panels — units, legends, axis scaling, fill / stack mode, overrides, color choices.