summaryrefslogtreecommitdiff
path: root/internal/tui/dashboard/syscalls.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-09 23:01:38 +0200
committerPaul Buetow <paul@buetow.org>2026-03-09 23:01:38 +0200
commit227de0db390fec4e1327a7cab6be4c1268848695 (patch)
treef70ff9f3b23db47db0e0aeafa1bb1aad5abc71a8 /internal/tui/dashboard/syscalls.go
parentbcaa22111ac619e317f7adfd60a1fc6bd4db8d29 (diff)
tui: add reverse sorting for dashboard tables (task 364)
Diffstat (limited to 'internal/tui/dashboard/syscalls.go')
-rw-r--r--internal/tui/dashboard/syscalls.go31
1 files changed, 16 insertions, 15 deletions
diff --git a/internal/tui/dashboard/syscalls.go b/internal/tui/dashboard/syscalls.go
index 8f2530a..3b64b12 100644
--- a/internal/tui/dashboard/syscalls.go
+++ b/internal/tui/dashboard/syscalls.go
@@ -51,7 +51,7 @@ func renderSyscallsWithSort(snap *statsengine.Snapshot, width, height, offset, s
offset,
selectedCol,
"enter:filter",
- "s:sort",
+ "s/S:sort",
syscallSortHint(sortState),
"v:mode",
"b:metric",
@@ -105,10 +105,11 @@ func sortedSyscallSnapshots(rows []statsengine.SyscallSnapshot, sortState tableS
sorted := slices.Clone(rows)
slices.SortFunc(sorted, func(left, right statsengine.SyscallSnapshot) int {
- if cmp := compareSyscallBySort(left, right, sortState.key); cmp != 0 {
- return cmp
+ cmp := compareSyscallBySort(left, right, sortState.key)
+ if cmp == 0 {
+ cmp = compareSyscallDefault(left, right)
}
- return compareSyscallDefault(left, right)
+ return sortState.apply(cmp)
})
return sorted
}
@@ -218,27 +219,27 @@ func syscallSortLabel(sortState tableSortState[syscallSortKey]) string {
}
switch sortState.key {
case syscallSortKeyName:
- return "Syscall asc"
+ return sortLabelWithDirection("Syscall", true, sortState.reverse)
case syscallSortKeyCount:
- return "Count desc"
+ return sortLabelWithDirection("Count", false, sortState.reverse)
case syscallSortKeyRate:
- return "Rate/s desc"
+ return sortLabelWithDirection("Rate/s", false, sortState.reverse)
case syscallSortKeyAvg:
- return "Avg desc"
+ return sortLabelWithDirection("Avg", false, sortState.reverse)
case syscallSortKeyMin:
- return "Min desc"
+ return sortLabelWithDirection("Min", false, sortState.reverse)
case syscallSortKeyMax:
- return "Max desc"
+ return sortLabelWithDirection("Max", false, sortState.reverse)
case syscallSortKeyP50:
- return "p50 desc"
+ return sortLabelWithDirection("p50", false, sortState.reverse)
case syscallSortKeyP95:
- return "p95 desc"
+ return sortLabelWithDirection("p95", false, sortState.reverse)
case syscallSortKeyP99:
- return "p99 desc"
+ return sortLabelWithDirection("p99", false, sortState.reverse)
case syscallSortKeyBytes:
- return "Bytes desc"
+ return sortLabelWithDirection("Bytes", false, sortState.reverse)
case syscallSortKeyErrors:
- return "Errors desc"
+ return sortLabelWithDirection("Errors", false, sortState.reverse)
default:
return "default"
}