Run all benchmarks. (#4742)

* Run all benchmarks.

* Start debugging memchunk benchmark.

* Do not iterate when closed.

* Pass default tenant config.

* Set default limits.

* Fix two more benchmarks.

* Enable cron trigger again.
pull/4777/head
Karsten Jeschkies 4 years ago committed by GitHub
parent 628747e4cb
commit 5ece938f3c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      .drone/drone.jsonnet
  2. 6
      .drone/drone.yml
  3. 4
      pkg/chunkenc/memchunk.go
  4. 8
      pkg/ingester/checkpoint_test.go
  5. 2
      pkg/ingester/instance_test.go
  6. 2
      pkg/ingester/stream_test.go
  7. 2
      pkg/iter/entry_iterator.go

@ -337,13 +337,13 @@ local manifest(apps) = pipeline('manifest') {
},
node: { type: 'no-parallel' },
steps: [
run('LogQL', ['go test -mod=vendor -bench=Benchmark -benchtime 20x -timeout 120m ./pkg/logql/'])
run('All', ['go test -mod=vendor -bench=Benchmark -benchtime 20x -timeout 120m ./pkg/...']),
],
trigger: {
event: {
include: ['cron'],
},
cron+: {
cron: {
include: ['loki-bench'],
},
},

@ -66,9 +66,9 @@ node:
type: no-parallel
steps:
- commands:
- go test -mod=vendor -bench=Benchmark -benchtime 20x -timeout 120m ./pkg/logql/
- go test -mod=vendor -bench=Benchmark -benchtime 20x -timeout 120m ./pkg/...
image: grafana/loki-build-image:0.18.0
name: LogQL
name: All
trigger:
cron:
include:
@ -1004,6 +1004,6 @@ kind: secret
name: deploy_config
---
kind: signature
hmac: f6b69b7568765a77ee58c8db118be08c1db77953b9facb117c7849bcbc94d4f1
hmac: 3d6580e7a97cbdc40b5185fdb0a9e2011fb92ad9ff3bc393a577b1306abc8bc4
...

@ -1129,6 +1129,10 @@ func newBufferedIterator(ctx context.Context, pool ReaderPool, b []byte) *buffer
}
func (si *bufferedIterator) Next() bool {
if si.closed {
return false
}
if !si.closed && si.reader == nil {
// initialize reader now, hopefully reusing one of the previous readers
si.reader = si.pool.GetReader(bytes.NewBuffer(si.origBytes))

@ -500,16 +500,12 @@ func Benchmark_SeriesIterator(b *testing.B) {
streams := buildStreams()
instances := make([]*instance, 10)
limits, err := validation.NewOverrides(validation.Limits{
MaxLocalStreamsPerUser: 1000,
IngestionRateMB: 1e4,
IngestionBurstSizeMB: 1e4,
}, nil)
limits, err := validation.NewOverrides(defaultLimitsTestConfig(), nil)
require.NoError(b, err)
limiter := NewLimiter(limits, NilMetrics, &ringCountMock{count: 1}, 1)
for i := range instances {
inst := newInstance(defaultConfig(), fmt.Sprintf("instance %d", i), limiter, nil, noopWAL{}, NilMetrics, nil, nil)
inst := newInstance(defaultConfig(), fmt.Sprintf("instance %d", i), limiter, runtime.DefaultTenantConfigs(), noopWAL{}, NilMetrics, nil, nil)
require.NoError(b,
inst.Push(context.Background(), &logproto.PushRequest{

@ -296,7 +296,7 @@ func Benchmark_PushInstance(b *testing.B) {
require.NoError(b, err)
limiter := NewLimiter(limits, NilMetrics, &ringCountMock{count: 1}, 1)
i := newInstance(&Config{}, "test", limiter, loki_runtime.DefaultTenantConfigs(), noopWAL{}, NilMetrics, &OnceSwitch{}, nil)
i := newInstance(&Config{IndexShards: 1}, "test", limiter, loki_runtime.DefaultTenantConfigs(), noopWAL{}, NilMetrics, &OnceSwitch{}, nil)
ctx := context.Background()
for n := 0; n < b.N; n++ {

@ -406,7 +406,7 @@ func Benchmark_PushStream(b *testing.B) {
require.NoError(b, err)
limiter := NewLimiter(limits, NilMetrics, &ringCountMock{count: 1}, 1)
s := newStream(&Config{}, limiter, "fake", model.Fingerprint(0), ls, true, NilMetrics)
s := newStream(&Config{MaxChunkAge: 24 * time.Hour}, limiter, "fake", model.Fingerprint(0), ls, true, NilMetrics)
t, err := newTailer("foo", `{namespace="loki-dev"}`, &fakeTailServer{})
require.NoError(b, err)

@ -379,7 +379,6 @@ func (i *queryClientIterator) Close() error {
type nonOverlappingIterator struct {
labels string
i int
iterators []EntryIterator
curr EntryIterator
}
@ -403,7 +402,6 @@ func (i *nonOverlappingIterator) Next() bool {
if i.curr != nil {
i.curr.Close()
}
i.i++
i.curr, i.iterators = i.iterators[0], i.iterators[1:]
}

Loading…
Cancel
Save