Alerting: Promote alertingSaveStateCompressed flag to public preview (#99935)

This commit is contained in:
Alexander Akhmetov
2025-02-06 18:09:43 +01:00
committed by GitHub
parent 2b3ccfe5b9
commit a9ce930634
5 changed files with 21 additions and 10 deletions
@@ -61,7 +61,13 @@ For more information, refer to [this GitHub issue](https://github.com/grafana/gr
If you have a high number of alert instances, it can happen that the load on the database gets very high, as each state
transition of an alert instance is saved in the database.
This can be prevented by writing to the database periodically. For this the feature flag `alertingSaveStatePeriodic` needs
### Compressed alert state
When the `alertingSaveStateCompressed` feature toggle is enabled, Grafana saves the alert rule state in a compressed form, reducing database overhead for alerts with many instances.
### Save state periodically
High load can be also prevented by writing to the database periodically. For this the feature flag `alertingSaveStatePeriodic` needs
to be enabled. By default, it saves the states every 5 minutes to the database and on each shutdown. The periodic interval
can also be configured using the `state_periodic_save_interval` configuration flag. During this process, Grafana deletes all existing alert instances from the
database and then writes the entire current set of instances back in batches in a single transacton.
@@ -114,6 +114,7 @@ Most [generally available](https://grafana.com/docs/release-life-cycle/#general-
| `canvasPanelPanZoom` | Allow pan and zoom in canvas panel |
| `regressionTransformation` | Enables regression analysis transformation |
| `onPremToCloudMigrations` | Enable the Grafana Migration Assistant, which helps you easily migrate on-prem resources, such as dashboards, folders, and data source configurations, to your Grafana Cloud stack. |
| `alertingSaveStateCompressed` | Enables the compressed protobuf-based alert state storage |
| `ssoSettingsSAML` | Use the new SSO Settings API to configure the SAML connector |
| `azureMonitorPrometheusExemplars` | Allows configuration of Azure Monitor as a data source that can provide Prometheus exemplars |
| `ssoSettingsLDAP` | Use the new SSO Settings API to configure LDAP |
@@ -188,7 +189,6 @@ Experimental features might be changed or removed without prior notice.
| `tableSharedCrosshair` | Enables shared crosshair in table panel |
| `kubernetesFeatureToggles` | Use the kubernetes API for feature toggle management in the frontend |
| `newFolderPicker` | Enables the nested folder picker without having nested folders enabled |
| `alertingSaveStateCompressed` | Enables the compressed protobuf-based alert state storage |
| `scopeApi` | In-development feature flag for the scope api using the app platform. |
| `sqlExpressions` | Enables using SQL and DuckDB functions as Expressions. |
| `nodeGraphDotLayout` | Changed the layout algorithm for the node graph |
+2 -1
View File
@@ -1023,9 +1023,10 @@ var (
{
Name: "alertingSaveStateCompressed",
Description: "Enables the compressed protobuf-based alert state storage",
Stage: FeatureStageExperimental,
Stage: FeatureStagePublicPreview,
FrontendOnly: false,
Owner: grafanaAlertingSquad,
Expression: "false",
},
{
Name: "scopeApi",
+1 -1
View File
@@ -134,7 +134,7 @@ newFolderPicker,experimental,@grafana/grafana-frontend-platform,false,false,true
jitterAlertRulesWithinGroups,preview,@grafana/alerting-squad,false,true,false
onPremToCloudMigrations,preview,@grafana/grafana-operator-experience-squad,false,false,false
alertingSaveStatePeriodic,privatePreview,@grafana/alerting-squad,false,false,false
alertingSaveStateCompressed,experimental,@grafana/alerting-squad,false,false,false
alertingSaveStateCompressed,preview,@grafana/alerting-squad,false,false,false
scopeApi,experimental,@grafana/grafana-app-platform-squad,false,false,false
promQLScope,GA,@grafana/oss-big-tent,false,false,false
logQLScope,privatePreview,@grafana/observability-logs,false,false,false
1 Name Stage Owner requiresDevMode RequiresRestart FrontendOnly
134 jitterAlertRulesWithinGroups preview @grafana/alerting-squad false true false
135 onPremToCloudMigrations preview @grafana/grafana-operator-experience-squad false false false
136 alertingSaveStatePeriodic privatePreview @grafana/alerting-squad false false false
137 alertingSaveStateCompressed experimental preview @grafana/alerting-squad false false false
138 scopeApi experimental @grafana/grafana-app-platform-squad false false false
139 promQLScope GA @grafana/oss-big-tent false false false
140 logQLScope privatePreview @grafana/observability-logs false false false
+10 -6
View File
@@ -373,23 +373,27 @@
{
"metadata": {
"name": "alertingSaveStateCompressed",
"resourceVersion": "1737472824047",
"resourceVersion": "1738604435531",
"creationTimestamp": "2025-01-17T18:17:20Z",
"annotations": {
"grafana.app/updatedTimestamp": "2025-01-21 15:20:24.047499 +0000 UTC"
"grafana.app/updatedTimestamp": "2025-02-03 17:40:35.53174 +0000 UTC"
}
},
"spec": {
"description": "Enables the compressed protobuf-based alert state storage",
"stage": "experimental",
"codeowner": "@grafana/alerting-squad"
"stage": "preview",
"codeowner": "@grafana/alerting-squad",
"expression": "false"
}
},
{
"metadata": {
"name": "alertingSaveStatePeriodic",
"resourceVersion": "1718727528075",
"creationTimestamp": "2024-01-23T16:03:30Z"
"resourceVersion": "1738604155684",
"creationTimestamp": "2024-01-23T16:03:30Z",
"annotations": {
"grafana.app/updatedTimestamp": "2025-02-03 17:35:55.684572 +0000 UTC"
}
},
"spec": {
"description": "Writes the state periodically to the database, asynchronous to rule evaluation",