mirror of
https://github.com/prometheus/prometheus.git
synced 2024-09-19 23:37:31 -07:00
[Test] TSDB: let BenchmarkAddExemplar reuse slots
Test with different amounts of capacity and exemplars, so that sometimes new exemplars are evicting older exemplars. Signed-off-by: Bryan Boreham <bjboreham@gmail.com>
This commit is contained in:
parent
6683895620
commit
929fbf860e
|
@ -415,27 +415,29 @@ func BenchmarkAddExemplar(b *testing.B) {
|
||||||
// before adding.
|
// before adding.
|
||||||
exLabels := labels.FromStrings("trace_id", "89620921")
|
exLabels := labels.FromStrings("trace_id", "89620921")
|
||||||
|
|
||||||
for _, n := range []int{10000, 100000, 1000000} {
|
for _, capacity := range []int{1000, 10000, 100000} {
|
||||||
b.Run(strconv.Itoa(n), func(b *testing.B) {
|
for _, n := range []int{10000, 100000, 1000000} {
|
||||||
for j := 0; j < b.N; j++ {
|
b.Run(fmt.Sprintf("%d/%d", n, capacity), func(b *testing.B) {
|
||||||
b.StopTimer()
|
for j := 0; j < b.N; j++ {
|
||||||
exs, err := NewCircularExemplarStorage(int64(n), eMetrics)
|
b.StopTimer()
|
||||||
require.NoError(b, err)
|
exs, err := NewCircularExemplarStorage(int64(capacity), eMetrics)
|
||||||
es := exs.(*CircularExemplarStorage)
|
require.NoError(b, err)
|
||||||
var l labels.Labels
|
es := exs.(*CircularExemplarStorage)
|
||||||
b.StartTimer()
|
var l labels.Labels
|
||||||
|
b.StartTimer()
|
||||||
|
|
||||||
for i := 0; i < n; i++ {
|
for i := 0; i < n; i++ {
|
||||||
if i%100 == 0 {
|
if i%100 == 0 {
|
||||||
l = labels.FromStrings("service", strconv.Itoa(i))
|
l = labels.FromStrings("service", strconv.Itoa(i))
|
||||||
}
|
}
|
||||||
err = es.AddExemplar(l, exemplar.Exemplar{Value: float64(i), Ts: int64(i), Labels: exLabels})
|
err = es.AddExemplar(l, exemplar.Exemplar{Value: float64(i), Ts: int64(i), Labels: exLabels})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
require.NoError(b, err)
|
require.NoError(b, err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
})
|
||||||
})
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue