diff options
Diffstat (limited to 'internal/flags/sampling.go')
| -rw-r--r-- | internal/flags/sampling.go | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/internal/flags/sampling.go b/internal/flags/sampling.go index 19b4f9d..2f63ada 100644 --- a/internal/flags/sampling.go +++ b/internal/flags/sampling.go @@ -8,6 +8,14 @@ import ( "ior/internal/types" ) +var defaultAggregateOnlySyscalls = []string{ + "futex", + "futex_wait", + "futex_wake", + "futex_requeue", + "futex_waitv", +} + func cloneFamilySamplingRates(in map[types.SyscallFamily]uint32) map[types.SyscallFamily]uint32 { out := make(map[types.SyscallFamily]uint32, len(in)) for family, rate := range in { @@ -24,6 +32,22 @@ func cloneSyscallSamplingRates(in map[string]uint32) map[string]uint32 { return out } +func defaultSyscallSamplingRates() map[string]uint32 { + out := make(map[string]uint32, len(defaultAggregateOnlySyscalls)) + for _, syscall := range defaultAggregateOnlySyscalls { + out[syscall] = 0 + } + return out +} + +func mergeSyscallSamplingRates(overrides map[string]uint32) map[string]uint32 { + out := defaultSyscallSamplingRates() + for syscall, rate := range overrides { + out[syscall] = rate + } + return out +} + func parseFamilySamplingRates(raw string) (map[types.SyscallFamily]uint32, error) { entries, err := parseSamplingEntries(raw) if err != nil { |
