|
5 | 5 | "context"
|
6 | 6 | "errors"
|
7 | 7 | "fmt"
|
8 |
| - goiter "iter" |
9 | 8 | "math"
|
10 |
| - "math/rand" |
11 | 9 | "strings"
|
12 | 10 | "testing"
|
13 | 11 | "time"
|
@@ -2512,54 +2510,6 @@ func BenchmarkRangeQuery1000000(b *testing.B) {
|
2512 | 2510 | benchmarkRangeQuery(int64(1000000), b)
|
2513 | 2511 | }
|
2514 | 2512 |
|
2515 |
| -func BenchmarkHighCardinalityInstantQuery(b *testing.B) { |
2516 |
| - b.ReportAllocs() |
2517 |
| - |
2518 |
| - mockQuerier := NewMockQuerier(1, func() goiter.Seq2[int, logproto.Stream] { return generateLogs(1_000_000, 100_000) }) |
2519 |
| - |
2520 |
| - eng := NewEngine(EngineOpts{}, mockQuerier, NoLimits, log.NewNopLogger()) |
2521 |
| - start := time.Unix(1, 0) |
2522 |
| - b.ResetTimer() |
2523 |
| - |
2524 |
| - for i := 0; i < b.N; i++ { |
2525 |
| - params, err := NewLiteralParams(`sum by(cardinality) (sum_over_time({app="foo"} | logfmt | unwrap value [1s]))`, start, start, 0, 0, logproto.BACKWARD, 1000, nil, nil) |
2526 |
| - require.NoError(b, err) |
2527 |
| - q := eng.Query(params) |
2528 |
| - |
2529 |
| - res, err := q.Exec(user.InjectOrgID(context.Background(), "fake")) |
2530 |
| - if err != nil { |
2531 |
| - b.Fatal(err) |
2532 |
| - } |
2533 |
| - result = res.Data |
2534 |
| - if result == nil { |
2535 |
| - b.Fatal("unexpected nil result") |
2536 |
| - } |
2537 |
| - } |
2538 |
| -} |
2539 |
| - |
2540 |
| -func generateLogs(lines int, cardinality int) goiter.Seq2[int, logproto.Stream] { |
2541 |
| - batchSize := 10 |
2542 |
| - return func(yield func(int, logproto.Stream) bool) { |
2543 |
| - for batch := range lines / batchSize { |
2544 |
| - entries := make([]logproto.Entry, batchSize) |
2545 |
| - for i := 0; i < batchSize; i++ { |
2546 |
| - line := batch*batchSize + i |
2547 |
| - entries[i] = logproto.Entry{ |
2548 |
| - Timestamp: time.Unix(0, int64(batch)), |
2549 |
| - Line: fmt.Sprintf("cardinality=%d batch=%d line=%d value=%f", i%cardinality, batch, line, rand.Float64()), |
2550 |
| - } |
2551 |
| - } |
2552 |
| - stream := logproto.Stream{ |
2553 |
| - Entries: entries, |
2554 |
| - Labels: `{app="foo"}`, |
2555 |
| - } |
2556 |
| - if !yield(batch, stream) { |
2557 |
| - return |
2558 |
| - } |
2559 |
| - } |
2560 |
| - } |
2561 |
| -} |
2562 |
| - |
2563 | 2513 | var result promql_parser.Value
|
2564 | 2514 |
|
2565 | 2515 | func benchmarkRangeQuery(testsize int64, b *testing.B) {
|
|
0 commit comments