From cc4edee087143d656fc74067297f3f540b61362e Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 6 Mar 2026 16:04:43 +0200 Subject: refactor: share collapse field validation lists (task 387) --- internal/collapse/fields.go | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 internal/collapse/fields.go (limited to 'internal/collapse') diff --git a/internal/collapse/fields.go b/internal/collapse/fields.go new file mode 100644 index 0000000..b87fe11 --- /dev/null +++ b/internal/collapse/fields.go @@ -0,0 +1,39 @@ +package collapse + +import "slices" + +var validFields = []string{ + "path", + "comm", + "tracepoint", + "pid", + "tid", + "flags", +} + +var validCountFields = []string{ + "count", + "duration", + "durationToPrev", + "bytes", +} + +// ValidFields returns a copy of supported collapse fields. +func ValidFields() []string { + return slices.Clone(validFields) +} + +// ValidCountFields returns a copy of supported collapse count fields. +func ValidCountFields() []string { + return slices.Clone(validCountFields) +} + +// IsValidField reports whether a collapse field is supported. +func IsValidField(field string) bool { + return slices.Contains(validFields, field) +} + +// IsValidCountField reports whether a collapse count field is supported. +func IsValidCountField(field string) bool { + return slices.Contains(validCountFields, field) +} -- cgit v1.2.3