{{<figuresrc="/media/docs/alerting/alert-rule-evaluation-2.png"max-width="750px"alt="Set the evaluation behavior of the alert rule in Grafana."caption="Set alert rule evaluation">}}
Each evaluation group contains an **evaluation interval** that determines how frequently the rule is checked. For instance, the evaluation may occur every `10s`, `30s`, `1m`, `10m`, etc.
Rules in different groups can be evaluated simultaneously.
- **Grafana-managed** rules within the same group are evaluated concurrently—they are evaluated at different times over the same evaluation interval but display the same evaluation timestamp.
- **Data source-managed** rules within the same group are evaluated sequentially, one after the other—this is useful to ensure that recording rules are evaluated before alert rules.
- **Grafana-managed rules [imported from data source-managed rules](ref:import-ds-rules)** can be evaluated sequentially or in parallel, depending on how they are imported. For more information, refer to [Evaluation of imported rules](ref:evaluation-of-imported-ds-rules).
You can set a period to keep an alert firing after the threshold is no longer breached. This sets the alert to a Recovering state. In a Recovering state, the alert won’t fire again if the threshold is breached. The Keep firing timer is then reset and the alert transitions back to Alerting state.
The Keep firing for period helps reduce repeated firing-resolving-firing notification scenarios caused by flapping alerts.
{{<figuresrc="/media/docs/alerting/alert-rule-evaluation-overview-statediagram-v2.png"alt="A diagram of the alert instance states and when to route their notifications."max-width="750px">}}
Consider an alert rule with an **evaluation interval** set at every 30 seconds and a **pending period** of 90 seconds. The evaluation occurs as follows: