diff options
| author | Paul Buetow <paul@buetow.org> | 2026-05-22 09:14:45 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-05-22 09:14:45 +0300 |
| commit | 74a241b702a595b86cabc5350bb5bf7c52d8e27b (patch) | |
| tree | 94f89214f0f871cf92a3f9cbb11ba4045e0e6d65 /internal/eventloop_aggregate_test.go | |
| parent | a8a097102088516fdda3c25d9b1799d9e8a4ba0d (diff) | |
yb reject aggregate rows for pid tid filters
Diffstat (limited to 'internal/eventloop_aggregate_test.go')
| -rw-r--r-- | internal/eventloop_aggregate_test.go | 40 |
1 files changed, 25 insertions, 15 deletions
diff --git a/internal/eventloop_aggregate_test.go b/internal/eventloop_aggregate_test.go index cfa9bb9..582b598 100644 --- a/internal/eventloop_aggregate_test.go +++ b/internal/eventloop_aggregate_test.go @@ -81,23 +81,33 @@ func TestFilterAggregateRowsForIngestGatesWhenUnsupportedFilterActive(t *testing } } -func TestFilterAggregateRowsForIngestAllowsKernelEqPIDFilter(t *testing.T) { - el := &eventLoop{ - cfg: eventLoopConfig{ - aggregateOnlyTraceIDs: map[types.TraceId]struct{}{ - types.SYS_ENTER_FUTEX: {}, - }, - }, +func TestFilterAggregateRowsForIngestRejectsPIDAndTIDFilters(t *testing.T) { + tests := []struct { + name string + filter globalfilter.Filter + }{ + {name: "pid", filter: globalfilter.Filter{PID: globalfilter.NewEqFilter(42)}}, + {name: "tid", filter: globalfilter.Filter{TID: globalfilter.NewEqFilter(43)}}, } - el.SetFilter(globalfilter.Filter{ - PID: globalfilter.NewEqFilter(42), - }) - got := el.filterAggregateRowsForIngest([]statsengine.SyscallAggregate{ - {TraceID: types.SYS_ENTER_FUTEX, Count: 2}, - }) - if len(got) != 1 { - t.Fatalf("expected row with PID eq filter, got %+v", got) + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + el := &eventLoop{ + cfg: eventLoopConfig{ + aggregateOnlyTraceIDs: map[types.TraceId]struct{}{ + types.SYS_ENTER_FUTEX: {}, + }, + }, + } + el.SetFilter(tt.filter) + + got := el.filterAggregateRowsForIngest([]statsengine.SyscallAggregate{ + {TraceID: types.SYS_ENTER_FUTEX, Count: 2}, + }) + if len(got) != 0 { + t.Fatalf("expected no aggregate rows with %s filter, got %+v", tt.name, got) + } + }) } } |
