diff options
| author | Paul Buetow <paul@buetow.org> | 2026-03-10 23:08:29 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-03-10 23:08:29 +0200 |
| commit | feb34d807e85d626a7ff08a51bba17f93375ddaa (patch) | |
| tree | 94b1de33313f7b3e68e232c70c86d63c2ef15a97 | |
| parent | db75c8b17549fdfa23cc8622770d257fa0d7420f (diff) | |
config: centralize default buffer sizes (task 388)
| -rw-r--r-- | internal/config/buffers.go | 10 | ||||
| -rw-r--r-- | internal/flags/flags.go | 3 | ||||
| -rw-r--r-- | internal/ior.go | 6 |
3 files changed, 15 insertions, 4 deletions
diff --git a/internal/config/buffers.go b/internal/config/buffers.go new file mode 100644 index 0000000..61986d8 --- /dev/null +++ b/internal/config/buffers.go @@ -0,0 +1,10 @@ +package config + +const ( + // DefaultChannelBufferSize is the shared default for high-volume trace and + // TUI event channels. + DefaultChannelBufferSize = 4096 + + // DefaultEventMapSize is the default BPF event ring-buffer map size. + DefaultEventMapSize = DefaultChannelBufferSize * 16 +) diff --git a/internal/flags/flags.go b/internal/flags/flags.go index 50a5926..df4187c 100644 --- a/internal/flags/flags.go +++ b/internal/flags/flags.go @@ -12,6 +12,7 @@ import ( "time" "ior/internal/collapse" + appconfig "ior/internal/config" "ior/internal/globalfilter" ) @@ -56,7 +57,7 @@ func NewFlags() Config { return Config{ PidFilter: -1, TidFilter: -1, - EventMapSize: 4096 * 16, + EventMapSize: appconfig.DefaultEventMapSize, Duration: 900, LiveInterval: 200 * time.Millisecond, TUIExportEnable: true, diff --git a/internal/ior.go b/internal/ior.go index 8258f01..c14ab37 100644 --- a/internal/ior.go +++ b/internal/ior.go @@ -15,6 +15,7 @@ import ( "syscall" "time" + appconfig "ior/internal/config" "ior/internal/event" "ior/internal/flags" "ior/internal/flamegraph" @@ -201,7 +202,7 @@ func tuiTraceStarterFromRunTrace( bindings.SetEventStreamSource(streamSource) bindings.SetLiveTrie(liveTrie) } - streamEvents := make(chan eventstream.StreamEvent, 4096) + streamEvents := make(chan eventstream.StreamEvent, appconfig.DefaultChannelBufferSize) go func() { for ev := range streamEvents { @@ -372,8 +373,7 @@ func setupBPFModule(parentCtx context.Context, cfg flags.Config) (*bpf.Module, * } func setupEventChannel(bpfModule *bpf.Module) (chan []byte, error) { - // 4096 channel size minimizes event drops. - ch := make(chan []byte, 4096) + ch := make(chan []byte, appconfig.DefaultChannelBufferSize) rb, err := bpfModule.InitRingBuf("event_map", ch) if err != nil { return nil, err |
