mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-11-21 14:44:00 +00:00
37 lines
723 B
Go
37 lines
723 B
Go
|
package rule
|
||
|
|
||
|
import (
|
||
|
"fmt"
|
||
|
"testing"
|
||
|
"time"
|
||
|
|
||
|
"github.com/VictoriaMetrics/VictoriaMetrics/lib/prompbmarshal"
|
||
|
)
|
||
|
|
||
|
func BenchmarkGetStaleSeries(b *testing.B) {
|
||
|
ts := time.Now()
|
||
|
n := 100
|
||
|
payload := make([]prompbmarshal.TimeSeries, n)
|
||
|
for i := 0; i < n; i++ {
|
||
|
s := fmt.Sprintf("%d", i)
|
||
|
labels := toPromLabels(b,
|
||
|
"__name__", "foo", ""+
|
||
|
"instance", s,
|
||
|
"job", s,
|
||
|
"state", s,
|
||
|
)
|
||
|
payload = append(payload, newTimeSeriesPB([]float64{1}, []int64{ts.Unix()}, labels))
|
||
|
}
|
||
|
|
||
|
e := &executor{
|
||
|
previouslySentSeriesToRW: make(map[uint64]map[string][]prompbmarshal.Label),
|
||
|
}
|
||
|
ar := &AlertingRule{RuleID: 1}
|
||
|
|
||
|
b.ResetTimer()
|
||
|
b.ReportAllocs()
|
||
|
for i := 0; i < b.N; i++ {
|
||
|
e.getStaleSeries(ar, payload, ts)
|
||
|
}
|
||
|
}
|