From c9c9f079ae5d8d1425eaa6ed3cea8044a90ee44e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Mierzwa?= Date: Thu, 27 Jul 2023 17:50:38 +0100 Subject: [PATCH] fix(tests): add ac benchmark --- internal/filters/autocomplete_test.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/internal/filters/autocomplete_test.go b/internal/filters/autocomplete_test.go index 4b8f6c4b9..7a4336224 100644 --- a/internal/filters/autocomplete_test.go +++ b/internal/filters/autocomplete_test.go @@ -1,6 +1,7 @@ package filters_test import ( + "fmt" "sort" "testing" @@ -143,3 +144,26 @@ func TestBuildAutocomplete(t *testing.T) { } } } + +func BenchmarkAutocomplete(b *testing.B) { + const n = 10000 + alerts := make([]models.Alert, 0, n) + for i := 0; i < n; i++ { + alerts = append(alerts, models.Alert{ + State: models.AlertStateActive, + Labels: models.Labels{ + {Name: "foo", Value: fmt.Sprintf("xxx%d", i)}, + {Name: "number", Value: fmt.Sprintf("%d", i)}, + }, + Receiver: fmt.Sprintf("receiver-%d", i%1000), + Alertmanager: []models.AlertmanagerInstance{ + {Cluster: "cluster", Name: "am1"}, + {Cluster: "cluster", Name: "am2"}, + }, + }) + } + b.ReportAllocs() + for i := 0; i < b.N; i++ { + filters.BuildAutocomplete(alerts) + } +}