summaryrefslogtreecommitdiff
path: root/internal/collapse/fields.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/collapse/fields.go')
-rw-r--r--internal/collapse/fields.go39
1 files changed, 39 insertions, 0 deletions
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)
+}