summaryrefslogtreecommitdiff
path: root/internal/syscall_aggregate_consumer_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-05-20 14:13:21 +0300
committerPaul Buetow <paul@buetow.org>2026-05-20 14:13:21 +0300
commit13d2c3ec8deb759308a8f0a28374470ca9bb1e9d (patch)
tree20f1d9ac5540d63a415223c7c5b4bb6f1e8ecec8 /internal/syscall_aggregate_consumer_test.go
parent9310b54d439d4a1a8d4d337987aa63884df0af76 (diff)
fix(task-17): prevent aggregate double-count and flush on shutdown
Diffstat (limited to 'internal/syscall_aggregate_consumer_test.go')
-rw-r--r--internal/syscall_aggregate_consumer_test.go18
1 files changed, 18 insertions, 0 deletions
diff --git a/internal/syscall_aggregate_consumer_test.go b/internal/syscall_aggregate_consumer_test.go
index 1f6e856..362dfba 100644
--- a/internal/syscall_aggregate_consumer_test.go
+++ b/internal/syscall_aggregate_consumer_test.go
@@ -23,6 +23,24 @@ func TestBuildSyscallSamplingRatesFamilyAndSyscallOverride(t *testing.T) {
}
}
+func TestBuildAggregateOnlyTraceIDs(t *testing.T) {
+ cfg := flags.NewFlags()
+ cfg.SyscallFamilySamplingRates[types.FamilyTime] = 10
+ cfg.SyscallSamplingRates["futex"] = 0
+ cfg.SyscallSamplingRates["clock_gettime"] = 0
+
+ ids := buildAggregateOnlyTraceIDs(cfg)
+ if _, ok := ids[types.SYS_ENTER_FUTEX]; !ok {
+ t.Fatal("expected futex in aggregate-only set")
+ }
+ if _, ok := ids[types.SYS_ENTER_CLOCK_GETTIME]; !ok {
+ t.Fatal("expected clock_gettime in aggregate-only set")
+ }
+ if _, ok := ids[types.SYS_ENTER_NANOSLEEP]; ok {
+ t.Fatal("did not expect nanosleep in aggregate-only set")
+ }
+}
+
func TestDecodeRawSyscallAggregate(t *testing.T) {
want := rawSyscallAggregate{
Count: 7,