apollo_dashboard,apollo_deployments: add top-level intervalSec to Alerts; use it in alert builder#13449
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
3f7193d to
e542be6
Compare
|
Artifacts upload workflows: |
29ac4d5 to
79dc8e9
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
There are 3 total unresolved issues (including 2 from previous reviews).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 79dc8e9. Configure here.
79dc8e9 to
96c5d81
Compare
matanl-starkware
left a comment
There was a problem hiding this comment.
@matanl-starkware reviewed 19 files and all commit messages, and made 2 comments.
Reviewable status: all files reviewed, 5 unresolved discussions (waiting on Itay-Tsabary-Starkware).
crates/apollo_dashboard/resources/dev_grafana_alerts.json line 41 at r4 (raw file):
], "for": "30s", "intervalSec": 30,
Why is this still here?
Code quote:
"intervalSec": 30,crates/apollo_dashboard/src/alerts.rs line 223 at r4 (raw file):
Self::Low => "evaluation_rate_low", } }
Why is this required in addition to the serde/rename instructions above?
Consider keeping only one of them.
Code quote:
pub(crate) fn name(&self) -> &'static str {
match self {
Self::High => "evaluation_rate_high",
Self::Default => "evaluation_rate_default",
Self::Low => "evaluation_rate_low",
}
}
matanl-starkware
left a comment
There was a problem hiding this comment.
@matanl-starkware made 1 comment and resolved 1 discussion.
Reviewable status: all files reviewed, 4 unresolved discussions (waiting on Itay-Tsabary-Starkware).
crates/apollo_dashboard/resources/dev_grafana_alerts.json line 41 at r4 (raw file):
Previously, matanl-starkware (Matan Lior) wrote…
Why is this still here?
Removed in following PR 13450
96c5d81 to
287db05
Compare
PR SummaryMedium Risk Overview Updates the monitoring deployment tooling to build/upload/dump alerts as rule groups instead of individual rules: Reviewed by Cursor Bugbot for commit d04135f. Bugbot is set up for automated code reviews on this repo. Configure here. |
matanl-starkware
left a comment
There was a problem hiding this comment.
@matanl-starkware reviewed 4 files and all commit messages, and resolved 1 discussion.
Reviewable status: all files reviewed, 1 unresolved discussion (waiting on Itay-Tsabary-Starkware).
287db05 to
24c5ff9
Compare
…rts; use it in alert builder Move the evaluation interval from a per-alert field to a top-level field on the Alerts struct. The interval is group-scoped in Grafana, so a single value for all alerts is the correct model. Also restructure alert_builder.py to upload/dump per rule-group instead of per individual alert, using the top-level intervalSec as the group interval. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
24c5ff9 to
d04135f
Compare
Itay-Tsabary-Starkware
left a comment
There was a problem hiding this comment.
@Itay-Tsabary-Starkware reviewed 21 files and all commit messages.
Reviewable status:complete! all files reviewed, all discussions resolved (waiting on Itay-Tsabary-Starkware).


Move the evaluation interval from a per-alert field to a top-level field
on the Alerts struct. The interval is group-scoped in Grafana, so a single
value for all alerts is the correct model.
Also restructure alert_builder.py to upload/dump per rule-group instead of
per individual alert, using the top-level intervalSec as the group interval.
Co-Authored-By: Claude Sonnet 4.6 noreply@anthropic.com
Note
Medium Risk
Changes the alert JSON schema and the provisioning/deployment flow (grouped updates and per-group CRDs), which could alter alert evaluation cadence or cause missing/duplicated rules if grouping or intervals are misapplied.
Overview
Updates the generated
dev_grafana_alerts.jsonschema to include top-levelgroups(with per-group evaluation intervals) and moves alerts into these rule groups (evaluation_rate_high/default/low), along with various severity/observer applicability tweaks driven by the regrouping.Replaces
AlertGroupwithEvaluationRatein the Rust alert definitions, adds deterministic sorting, and changesAlertsserialization to emit the newgroups + alertsstructure.Refactors
alert_builder.pyand the sequencer Grafana construct to provision alerts per rule group (one group file/CRD per group) and to set the rule-group interval once, rather than per alert.Reviewed by Cursor Bugbot for commit 96c5d81. Bugbot is set up for automated code reviews on this repo. Configure here.