Annotations: Make the annotation clean up batch size configurable (#31487) (#31769)

Signed-off-by: bergquist <carl.bergquist@gmail.com>

(cherry picked from commit 3b36636318)

Co-authored-by: Carl Bergquist <carl.bergquist@gmail.com>
This commit is contained in:
Grot (@grafanabot)
2021-03-08 14:37:27 +01:00
committed by GitHub
co-authored by Carl Bergquist
parent 877b50957c
commit 2297e13ac6
5 changed files with 17 additions and 1 deletions
+3
View File
@@ -682,6 +682,9 @@ max_annotation_age =
max_annotations_to_keep =
#################################### Annotations #########################
[annotations]
# Configures the batch size for the annotation clean-up job. This setting is used for dashboard, API, and alert annotations.
cleanupjob_batchsize = 100
[annotations.dashboard]
# Dashboard annotations means that annotations are associated with the dashboard they are created on.
+3
View File
@@ -675,6 +675,9 @@
;max_annotations_to_keep =
#################################### Annotations #########################
[annotations]
# Configures the batch size for the annotation clean-up job. This setting is used for dashboard, API, and alert annotations.
;cleanupjob_batchsize = 100
[annotations.dashboard]
# Dashboard annotations means that annotations are associated with the dashboard they are created on.
@@ -1082,6 +1082,12 @@ Configures max number of alert annotations that Grafana stores. Default value is
<hr>
## [annotations]
### cleanupjob_batchsize
Configures the batch size for the annotation clean-up job. This setting is used for dashboard, API, and alert annotations.
## [annotations.dashboard]
Dashboard annotations means that annotations are associated with the dashboard they are created on.
+1 -1
View File
@@ -105,7 +105,7 @@ func (ss *SQLStore) Init() error {
// Init repo instances
annotations.SetRepository(&SQLAnnotationRepo{})
annotations.SetAnnotationCleaner(&AnnotationCleanupService{batchSize: 100, log: log.New("annotationcleaner")})
annotations.SetAnnotationCleaner(&AnnotationCleanupService{batchSize: ss.Cfg.AnnotationCleanupJobBatchSize, log: log.New("annotationcleaner")})
ss.Bus.SetTransactionManager(ss)
// Register handlers
+4
View File
@@ -318,6 +318,7 @@ type Cfg struct {
HiddenUsers map[string]struct{}
// Annotations
AnnotationCleanupJobBatchSize int64
AlertingAnnotationCleanupSetting AnnotationCleanupSettings
DashboardAnnotationCleanupSettings AnnotationCleanupSettings
APIAnnotationCleanupSettings AnnotationCleanupSettings
@@ -471,6 +472,9 @@ func (cfg *Cfg) readGrafanaEnvironmentMetrics() error {
}
func (cfg *Cfg) readAnnotationSettings() {
section := cfg.Raw.Section("annotations")
cfg.AnnotationCleanupJobBatchSize = section.Key("cleanupjob_batchsize").MustInt64(100)
dashboardAnnotation := cfg.Raw.Section("annotations.dashboard")
apiIAnnotation := cfg.Raw.Section("annotations.api")
alertingSection := cfg.Raw.Section("alerting")