Alert Frequency Calculator
Calculate how often alerts fire based on thresholds and metric volatility.
About Alert Frequency Calculator
Raw formula: alerts_per_day = conditions_met_per_day / evaluation_interval × 86400 describes evaluation cadence, but real alert firing rate is gated by Prometheus's `for:` clause — a condition must stay true continuously for at least `for:` duration before the alert transitions from Pending to Firing. This calculator applies that gate: conditions that resolve faster than `for:` never actually fire, which is what keeps flapping metrics from generating alert storms.
Formula
alerts_per_day = active_alerts × firings_per_alert_per_day
- active_alerts
- Number of configured alert rules that fire
- firings_per_alert_per_day
- Average firings per alert rule per day
Worked example
With the default values below, Alert Frequency Calculator returns Actual Alert Firings per Day of 20.0. Change any input above and every figure here is recalculated in your browser.
Inputs used
- Times Condition Becomes True per Dayaccepts 0–1,000,000 occurrences/day
- 20 occurrences/day
- Evaluation Intervalaccepts 1–3,600 seconds
- 30 seconds
- Avg. Duration Condition Stays Trueaccepts 0–86,400 seconds
- 90 seconds
- Alert `for:` Durationaccepts 0–86,400 seconds
- 60 seconds
Results
- Actual Alert Firings per Day
- 20.0 alerts/day
- Evaluations While Condition Is True
- 3
- Rule Evaluations per Day
- 2,880
Step by step
- 1Does condition duration clear the for: threshold?= Yes — fires every time
- 2Actual alert firings per day= 20.0 firings/day
- 3Rule evaluations per day (evaluation cadence)= 2880 evaluations/day
Assumptions and limits
- The result is derived only from the 4 inputs listed above. Anything not among them is not part of the calculation.
- In particular, this calculator does not take inflation, tax, fees or charges or compounding frequency into account.
- Figures are rounded for display to 1 decimal place, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.
How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.
Frequently Asked Questions
Why doesn't every true condition generate an alert?
Prometheus's `for:` clause requires the condition to remain continuously true for a minimum duration before transitioning to Firing — brief blips that self-resolve within that window never fire, which is a deliberate anti-flapping mechanism.
How should I choose a `for:` duration?
Set it long enough to filter out transient noise (a single slow request, a brief GC pause) but short enough that genuine incidents still page promptly — 1-5 minutes is common for latency/error-rate alerts, longer for capacity-trend alerts.
Does Alertmanager grouping reduce the effective alert count further?
Yes — this calculator estimates rule firings, not notifications sent. Alertmanager's `group_by`, `group_wait`, and `repeat_interval` settings further batch and deduplicate firings into fewer actual notifications to responders.
What if my condition flaps rapidly around the threshold?
Rapid flapping around a threshold is exactly what `for:` is meant to dampen — if you're still seeing frequent alerts despite a reasonable `for:` duration, consider adding hysteresis (different thresholds for firing vs. resolving) to the underlying PromQL expression.
