| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2026-05-27 | Clarify syscall aggregate delta sentinel test | Paul Buetow | |
| 2026-05-27 | test(flamegraph): cover height edge branches (0p) | Paul Buetow | |
| 2026-05-27 | flamegraph: reuse clearSnapshotState maps with clear() (ep) | Paul Buetow | |
| 2026-05-27 | cp: remove dead flamegraph helpers and dead style param plumbing | Paul Buetow | |
| 2026-05-27 | ap: refactor livetrie mutex unlocks to defer patterns | Paul Buetow | |
| 2026-05-27 | flamegraph: table-drive metric cycles and semantic colors (9p) | Paul Buetow | |
| 2026-05-27 | dp: move flamegraph key helpers to keys.go | Paul Buetow | |
| 2026-05-27 | flamegraph: include height/count in view cache key (2p) | Paul Buetow | |
| 2026-05-27 | flamegraph: show selected height metric in status line (zo) | Paul Buetow | |
| 2026-05-27 | flamegraph: extract heightMetricActive helper (yo) | Paul Buetow | |
| 2026-05-27 | flamegraph: dedupe layout math for hit mapping (8p) | Paul Buetow | |
| 2026-05-27 | flamegraph: use render contexts and remove wrapper (7p) | Paul Buetow | |
| 2026-05-27 | flamegraph: reduce AddRecord lock contention (6p) | Paul Buetow | |
| 2026-05-27 | flamegraph: guard SnapshotJSON cache writes (5p) | Paul Buetow | |
| 2026-05-27 | fix(flamegraph): lock metric field reads in AddRecord (1p) | Paul Buetow | |
| 2026-05-26 | test: add xo coverage for dual metrics and variable-height flamegraph | Paul Buetow | |
| 2026-05-26 | wo: default runtime LiveTrie height field to disabled | Paul Buetow | |
| 2026-05-26 | vo: fix flamegraph click mapping for expanded leaf rows | Paul Buetow | |
| 2026-05-26 | flamegraph: variable leaf bar heights for height metric (uo) | Paul Buetow | |
| 2026-05-26 | flamegraph: plumb HeightTotal through tuiFrame layout (task to) | Paul Buetow | |
| 2026-05-26 | flamegraph: add height metric controls/keybinding (so) | Paul Buetow | |
| 2026-05-26 | runtime: restore LiveTrieSource compatibility for TUI (ro) | Paul Buetow | |
| 2026-05-26 | flamegraph: add height field methods to Configurator (ro) | Paul Buetow | |
| 2026-05-26 | flamegraph: add LiveTrie height metric ingestion (task qo) | Paul Buetow | |
| 2026-05-26 | flamegraph: add dual trie value/height totals (task po) | Paul Buetow | |
| 2026-05-23 | Merge branch 'main' into develop | Paul Buetow | |
| 2026-05-23 | 7c add end-to-end tests for aggregate-only stats ingestion | Paul Buetow | |
| Wire a real statsengine.Engine as the aggregate sink in five new tests to verify the full drain path (source -> drainer -> filter -> engine -> snapshot), closing the coverage gap where BPF aggregate decode, filter gating, or stats ingestion could break while the existing sampling test still passed. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> | |||
| 2026-05-23 | 6c add schema drift test for BPF aggregate map struct | Paul Buetow | |
| The C struct syscall_aggregate (maps.h) is manually mirrored as rawSyscallAggregate in Go. Add a test that parses the C definition and asserts field names, types, sizes, and offsets match the Go struct so any future schema change is caught at test time. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> | |||
| 2026-05-23 | 9c move Non-IO grouping policy from core stats/types into dashboard | Paul Buetow | |
| Snapshot.NonIOFamilies, Snapshot.NonIOFamiliesCount, and types.IsNonIOSyscallFamily encoded a TUI tab concept in core packages. Move this filtering into internal/tui/dashboard/nonio.go as unexported helpers so the dashboard owns its own grouping policy and Snapshot.Families remains the neutral core API. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> | |||
| 2026-05-23 | 2c fix epoll_create and pidfd_open flags in BPF codegen | Paul Buetow | |
| epoll_create(size) was recording size (args[0]) as flags — hardcode to 0 since the syscall has no flags argument. pidfd_open(pid, flags) was recording pid (args[0]) as flags — use args[1] instead. Add test fixtures and codegen tests that verify the correct argument indexes and reject the old wrong ones. Regenerate generated_tracepoints.c. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> | |||
| 2026-05-23 | 0c promote aggregate-only sampling defaults in raw output modes | Paul Buetow | |
| Default aggregate-only sampling (rate 0) for futex* and clock_gettime causes BPF to suppress ring-buffer events. In -plain, -flamegraph, and headless -parquet modes there is no aggregate sink, so these probes would emit no rows even when explicitly selected. Promote those defaults to rate 1 during flag resolution; user-explicit overrides are preserved. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> | |||
| 2026-05-23 | zb restore legacy -tps regex selection for non-FS tracepoints | Paul Buetow | |
| When -tps provides an explicit regex but no -trace-* dimension selectors are given, skip the implicit FS-only syscall allowlist so that non-FS tracepoints (e.g. nanosleep) matched by the regex are still attached. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> | |||
| 2026-05-23 | 5c remove tracepoint ID adjacency dependency from aggregate pairing | Paul Buetow | |
| Generated exit handlers now pass the explicit enter trace ID (SYS_ENTER_X) to ior_on_syscall_exit instead of relying on the implicit enter_id == exit_id + 1 arithmetic invariant. filter.c compares directly against the passed enter ID. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> | |||
| 2026-05-23 | ac table-drive BPF extra-code generation away from switches | Paul Buetow | |
| Replace the large switch in generateExtra with an extraEmitters registry (map[TracepointKind]extraEmitter) and convert six inner switch-on-name helpers to table-driven lookups: - generateExtraMem -> memFieldOverrides table - generateExtraEventfd -> eventfdFlagsExpr table - generateExtraTwoFd -> twoFdOverrides + twoFdDefault - generateExtraPoll -> pollOverrides + pollTimeoutBody(style) - generateExtraSleep -> sleepTimespecPtr table - generateExtraKeyctl -> keyctlOverrides table Adding a new syscall kind or variant now requires only a table entry instead of editing switch arms with raw C string literals. Generated BPF C output is behaviorally equivalent; all existing tests pass unchanged. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> | |||
| 2026-05-23 | 8c extract aggregate draining and filter gating from eventLoop | Paul Buetow | |
| Move aggregate drain scheduling, filter compatibility policy, trace-ID allowlisting, and warning construction into a dedicated aggregateDrainer type. eventLoop now only creates and ticks it. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> | |||
| 2026-05-22 | 3c table-drive name-only syscall classification | Paul Buetow | |
| 2026-05-22 | 4c extract event kind runtime registry | Paul Buetow | |
| 2026-05-22 | xb make syscall aggregates per-cpu deltas | Paul Buetow | |
| 2026-05-22 | yb reject aggregate rows for pid tid filters | Paul Buetow | |
| 2026-05-21 | wb add docs drift tests for syscall coverage | Paul Buetow | |
| 2026-05-21 | vb add data-driven name-only kind mapping table | Paul Buetow | |
| 2026-05-21 | o7 classify landlock add-rule and restrict-self as fd | Paul Buetow | |
| 2026-05-21 | m7 classify time and posix timer syscalls | Paul Buetow | |
| 2026-05-21 | k7 classify process control and prctl syscalls | Paul Buetow | |
| 2026-05-21 | j7 add futex kind and aggregate-only defaults | Paul Buetow | |
| 2026-05-21 | l7 classify numa and process memory syscalls | Paul Buetow | |
| 2026-05-21 | h7 classify additional memory syscalls | Paul Buetow | |
| 2026-05-21 | 57 add bpf syscall kind classification | Paul Buetow | |
| 2026-05-21 | 37 classify clone family as proc kind | Paul Buetow | |
| 2026-05-21 | b7 classify sysv ipc ids and ops | Paul Buetow | |
