Last updated: July 24, 2026
Check Rule Limits
Dash0 enforces limits on the relationship between a check rule's query window and its evaluation interval, plus a cap on the maximum query window. These limits keep evaluation costs predictable and protect query performance for every rule in your organization.
The limits apply whether you create a check rule in the Dash0 web app or manage it as code. Both paths run the same validation, so a rule that a check-rule manifest defines is held to the same floors as one built in the UI.
What Is the Query Window
The query window is the largest range that any matrix selector or subquery in the check rule's PromQL expression looks back over. It is not the evaluation interval, and it is not the dashboard or preview time range.
For a query built with the visual Query Builder, the query window comes from the range you select (for example, [5m]). For a PromQL expression, it is the widest range that appears anywhere in the expression.
12345# Query window is 5m (the range on the selector).sum(rate({otel_metric_name="http.server.errors"}[5m])) > $__threshold# Query window is 1h (the widest range wins).avg_over_time({otel_metric_name="cpu.utilization"}[1h]) > $__threshold
Minimum Evaluation Interval per Query Window
The wider the query window, the more data each evaluation scans, so Dash0 requires a longer minimum interval as the window grows. The minimum interval depends on the query window as follows:
| Query window | Minimum evaluation interval |
|---|---|
| 1h 10m or less | 1m |
| More than 1h 10m, up to 8h 10m | 5m |
| More than 8h 10m, up to 24h 10m | 10m |
| More than 24h 10m | 1h |
An interval below 1 minute is never allowed, regardless of query window.
The boundaries use a strict "greater than" comparison, so a window that lands exactly on a boundary stays in the lower band. A [1h] selector sits at one hour, which is within the "1h 10m or less" band, so the 1-minute minimum applies. The extra 10 minutes on each boundary exists so that common round windows such as [1h], [8h], and [24h] do not fall into a stricter band.
If you save a check rule with an interval that is too short for its query window, Dash0 rejects it and reports the minimum interval required for that window.
Selecting the Interval in the UI
In the check rule editor, the Evaluate every dropdown offers these intervals:
1m, 2m, 3m, 4m, 5m, 10m, 15m, and 1h.
Every minimum interval in the table above is reachable from this dropdown. For example, a check rule with a query window over 24h 10m requires a 1-hour interval, and you select 1h from the dropdown. Choose the shortest interval that satisfies the floor for your query window when you need faster detection, or a longer interval to reduce evaluation cost.
Maximum Query Window
A check rule's query window may not exceed 7 days. A rule whose widest matrix-selector or subquery range is larger than 7 days is rejected.
To monitor trends over periods longer than 7 days, pre-compute the aggregation with a recording rule and write a check rule against that pre-computed series with a shorter window.
Further Reading
- Create Check Rules from Scratch — Configure a check rule's query, thresholds, and evaluation interval step by step.
- Manage Check Rules as Code — Define check rules in the Prometheus rule format and apply them through GitOps.
- Recording Rule Limits — Query window and interval limits for recording rules, which pre-compute expensive PromQL expressions.
- Troubleshoot Check Rule Issues — Diagnose alerts that do not fire, noisy alerts, and slow evaluations.
- Understand the Alerting Model — How Dash0 evaluates check rules and produces failed checks.