Tame noisy Grafana dashboards with Reduce series
Use Grafana's Reduce series transformation to aggregate time-series points into windows, smooth noisy dashboards, and reduce visual clutter without changing source data.
27 Oct 2025, 00:04 UTC

Too many lines, not enough signal
You open a dashboard and the legend lists dozens of instances, each with its own jagged line. The browser tab slows down. An alert fires because one instance spiked for ten seconds, but by the time you look, the graph is a solid block of color. This is a cardinality and noise problem: too many series, too many points, and not enough signal. Cardinality here means the number of distinct series produced by label combinations such as instance, job, or endpoint.
The useful takeaway is that Grafana's Reduce series transformation can aggregate points into fixed time windows directly in the panel. It does not change your Prometheus or InfluxDB data. It reshapes what the browser renders, which can make legends readable and panels more responsive without rewriting queries or recording rules.
What Reduce series actually does
Reduce series is a panel transformation available in Grafana 7.0 and later. It groups data points within a time window you choose—such as one minute or five minutes—and applies a function like average, min, max, or sum to each group. The result is fewer points per series, which often makes overlapping lines easier to read.
This is client-side downsampling. Grafana fetches raw data from the data source, then reduces it before drawing. If your data source already downsamples—for example, Prometheus recording rules or InfluxDB downsampling tasks—the transformation may add little. Treat it as a fallback when you cannot change the source or query.
Worked example: smoothing instance metrics
Suppose you have a Prometheus query returning per-instance request rates:
rate(http_requests_total[5m])
Open the panel in edit mode, go to the Transform tab, and add the Reduce series transformation. Configure it like this:
- Reduce function: Average
- Window: 1m
- Fill empty values: Off
The window should relate to your dashboard time range. A practical starting point is one-quarter of the dashboard step size, or the smallest meaningful gap you need to see. On a long time range viewed at fine resolution, larger windows reduce point density without erasing minute-scale trends.
Check the preview graph immediately. Open the legend and click to hide series before and after the transform. If the series count stays the same but the lines are smoother, the transformation is working. If the graph looks blocky or flat, increase the window or switch from average to max if you need to catch peaks.
Choosing the window and function
| Goal | Function | Suggested window |
|---|---|---|
| General trend, less noise | Average | 1m to 5m |
| Catch rare spikes | Max | 1m or smaller |
| Floor or baseline behavior | Min | 5m or larger |
| Totals over time | Sum | Match scrape interval |
A window that is too small leaves noisy output. One that is too large hides short outages. Start small and widen until individual instances are distinguishable but not jittery.
Limitation: rare events can disappear
Averaging over a window can hide a brief error spike or a single failed request. If you use this panel to drive alerts, validate the alert after applying the transform. A smoothed average may never cross a threshold that the raw series crosses every few minutes.
Practical check: keep an untransformed copy of the same query on a hidden panel or in a separate dashboard row. Compare the two during a known event. If the transformed panel shows a flat line while the raw panel shows a spike, the window is too wide for that use case.
Apply it and move on
Reduce series is a rendering aid, not a data fix. Use it when your dashboard is slow or unreadable because of point density, not when you need accurate per-second values for debugging an incident. Add the transform, check the legend and preview, verify your alerts still behave, and leave the underlying data untouched.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.