/
githubmirror
/
grafana
Обзор
Документация
Войти
/
githubmirror
/
grafana
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
pkg/expr/threshold_bench_test.go
86 строк
2 KB
Ryan McKinley
Chore: use new(value) rather than pointer helpers (#124525)
10 май 2026, 22:32
Не верифицирован
10 май 2026, 22:32
ebc9de1
Код
Авторство
О чём код?
package expr import ( "context" "fmt" "testing" "time" "github.com/grafana/grafana-plugin-sdk-go/data" "github.com/grafana/grafana/pkg/expr/mathexp" "github.com/grafana/grafana/pkg/infra/tracing" ) func BenchmarkThreshold(b *testing.B) { results := make(mathexp.Values, 0, 1000) for i := 0; i < cap(results); i++ { n := newNumber(data.Labels{"test": fmt.Sprintf("series-%d", i)}, new(float64(i))) results = append(results, n) } ctx := context.Background() timeNow := time.Now() vars := mathexp.Vars{ "A": newResults(results...), } trace := tracing.InitializeTracerForTest() b.ResetTimer() b.Run("greater than", func(b *testing.B) { greater, err := NewThresholdCommand("B", "A", ThresholdIsAbove, []float64{500}) if err != nil { b.Fatalf("error: %s", err) } b.ResetTimer() for range b.N { _, _ = greater.Execute(ctx, timeNow, vars, trace, nil) } }) b.Run("less than", func(b *testing.B) { greater, err := NewThresholdCommand("B", "A", ThresholdIsAbove, []float64{500}) if err != nil { b.Fatalf("error: %s", err) } b.ResetTimer() for range b.N { _, _ = greater.Execute(ctx, timeNow, vars, trace, nil) } }) b.Run("within range", func(b *testing.B) { greater, err := NewThresholdCommand("B", "A", ThresholdIsWithinRange, []float64{400.0, 600.0}) if err != nil { b.Fatalf("error: %s", err) } b.ResetTimer() for range b.N { _, _ = greater.Execute(ctx, timeNow, vars, trace, nil) } }) b.Run("within range, no labels", func(b *testing.B) { greater, err := NewThresholdCommand("B", "A", ThresholdIsWithinRange, []float64{400.0, 600.0}) if err != nil { b.Fatalf("error: %s", err) } results := make(mathexp.Values, 0, 1000) for i := 0; i < cap(results); i++ { n := newNumber(nil, new(float64(i))) results = append(results, n) } vars := mathexp.Vars{ "A": newResults(results...), } b.ResetTimer() for range b.N { _, _ = greater.Execute(ctx, timeNow, vars, trace, nil) } }) b.Run("outside range", func(b *testing.B) { greater, err := NewThresholdCommand("B", "A", ThresholdIsOutsideRange, []float64{400.0, 600.0}) if err != nil { b.Fatalf("error: %s", err) } b.ResetTimer() for range b.N { _, _ = greater.Execute(ctx, timeNow, vars, trace, nil) } }) }