telegraf/models/buffer_mem_test.go

41 lines
775 B
Go

package models
import (
"testing"
"github.com/stretchr/testify/require"
)
func newTestMemoryBuffer(t testing.TB, capacity int) Buffer {
t.Helper()
buf, err := NewBuffer("test", "123", "", capacity, "memory", "")
require.NoError(t, err)
buf.Stats().MetricsAdded.Set(0)
buf.Stats().MetricsWritten.Set(0)
buf.Stats().MetricsDropped.Set(0)
return buf
}
func TestBuffer_AcceptCallsMetricAccept(t *testing.T) {
var accept int
mm := &MockMetric{
Metric: Metric(),
AcceptF: func() {
accept++
},
}
b := newTestMemoryBuffer(t, 5)
b.Add(mm, mm, mm)
batch := b.Batch(2)
b.Accept(batch)
require.Equal(t, 2, accept)
}
func BenchmarkAddMetrics(b *testing.B) {
buf := newTestMemoryBuffer(b, 10000)
m := Metric()
for n := 0; n < b.N; n++ {
buf.Add(m)
}
}