Alerting: Add simplified_notifications_section setting to grafana_alerting_simplified_editor_rules metric (#98053)

This commit is contained in:
Alexander Akhmetov
2024-12-17 11:13:31 +01:00
committed by GitHub
parent deca41a782
commit bb713cf8e4
2 changed files with 13 additions and 4 deletions

View File

@@ -73,11 +73,17 @@ func (sch *schedule) updateRulesMetrics(alertRules []*models.AlertRule) {
}
// Count rules with simplified editor settings per org
if rule.Metadata.EditorSettings.SimplifiedQueryAndExpressionsSection {
if _, ok := simplifiedEditorSettingsPerOrg[rule.OrgID]; !ok {
simplifiedEditorSettingsPerOrg[rule.OrgID] = make(map[string]int64)
editorSettingsMap := map[string]bool{
"simplified_query_and_expressions_section": rule.Metadata.EditorSettings.SimplifiedQueryAndExpressionsSection,
"simplified_notifications_section": rule.Metadata.EditorSettings.SimplifiedNotificationsSection,
}
for key, value := range editorSettingsMap {
if value {
if _, ok := simplifiedEditorSettingsPerOrg[rule.OrgID]; !ok {
simplifiedEditorSettingsPerOrg[rule.OrgID] = make(map[string]int64)
}
simplifiedEditorSettingsPerOrg[rule.OrgID][key]++
}
simplifiedEditorSettingsPerOrg[rule.OrgID]["simplified_query_and_expressions_section"]++
}
// Count groups per org

View File

@@ -798,6 +798,7 @@ func TestSchedule_updateRulesMetrics(t *testing.T) {
alertRule1 := models.RuleGen.With(
models.RuleGen.WithOrgID(firstOrgID),
models.RuleGen.WithEditorSettingsSimplifiedQueryAndExpressionsSection(true),
models.RuleGen.WithEditorSettingsSimplifiedNotificationsSection(true),
).GenerateRef()
t.Run("it should show one rule in a single org", func(t *testing.T) {
@@ -806,6 +807,7 @@ func TestSchedule_updateRulesMetrics(t *testing.T) {
expectedMetric := fmt.Sprintf(
`# HELP grafana_alerting_simplified_editor_rules The number of alert rules using simplified editor settings.
# TYPE grafana_alerting_simplified_editor_rules gauge
grafana_alerting_simplified_editor_rules{org="%[1]d",setting="simplified_notifications_section"} 1
grafana_alerting_simplified_editor_rules{org="%[1]d",setting="simplified_query_and_expressions_section"} 1
`, alertRule1.OrgID)
@@ -824,6 +826,7 @@ func TestSchedule_updateRulesMetrics(t *testing.T) {
expectedMetric := fmt.Sprintf(
`# HELP grafana_alerting_simplified_editor_rules The number of alert rules using simplified editor settings.
# TYPE grafana_alerting_simplified_editor_rules gauge
grafana_alerting_simplified_editor_rules{org="%[1]d",setting="simplified_notifications_section"} 1
grafana_alerting_simplified_editor_rules{org="%[1]d",setting="simplified_query_and_expressions_section"} 1
grafana_alerting_simplified_editor_rules{org="%[2]d",setting="simplified_query_and_expressions_section"} 1
`, alertRule1.OrgID, alertRule2.OrgID)