summaryrefslogtreecommitdiff
path: root/internal/flamegraph/livetrie.go
AgeCommit message (Collapse)Author
2026-05-27ap: refactor livetrie mutex unlocks to defer patternsPaul Buetow
2026-05-27flamegraph: reduce AddRecord lock contention (6p)Paul Buetow
2026-05-27flamegraph: guard SnapshotJSON cache writes (5p)Paul Buetow
2026-05-27fix(flamegraph): lock metric field reads in AddRecord (1p)Paul Buetow
2026-05-26flamegraph: add LiveTrie height metric ingestion (task qo)Paul Buetow
2026-05-26flamegraph: add dual trie value/height totals (task po)Paul Buetow
2026-05-11speed up flame graph TUI under heavy event loadPaul Buetow
Move the per-tick snapshot refresh off the Bubble Tea update goroutine, add a frame ancestry index so navigation and filter helpers run in O(subtree) instead of O(frames), skip refresh and animation while the user is actively pressing keys, and memoize View() output. Keystrokes (pause, filter, navigate) now land within one frame even when the live trie ingests thousands of events per tick. - new SnapshotTree() on LiveTrie bypasses JSON marshal+unmarshal - RefreshFromLiveTrieCmd runs SnapshotTree + layout + ancestry on a background goroutine, coalesced via refreshInFlight, and returns a flameSnapshotReadyMsg the Update loop applies cheaply - driveWindow gate (250 ms after last key press) skips refresh dispatch and snaps frames directly to target without animation while the user is driving - View() caches its rendered string keyed on the inputs that affect output; cache is bypassed during animation Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-03-18cleanupPaul Buetow
2026-03-06refactor: make livetrie caller-owned for pair recycling (task 382)Paul Buetow
2026-03-06refactor: share trie insertion path logic (task 382)Paul Buetow
2026-03-06fix: return errors for unknown counter fields (task 383)Paul Buetow
2026-03-06refactor: share collapse field validation lists (task 387)Paul Buetow
2026-03-06feat(tui): add flamegraph bytes metric togglePaul Buetow
2026-03-06Fix real live flamegraph key handling and startup viewport syncPaul Buetow
2026-03-06Add live flamegraph test modes and dynamic synthetic live feedPaul Buetow
2026-03-05Normalize Go import grouping with local ior sectionPaul Buetow
2026-02-27flamegraph: add live field-order toggle and reconfigure APIPaul Buetow
2026-02-27flamegraph: add live baseline reset hotkeyPaul Buetow
2026-02-27flamegraph: add live trie snapshot JSON cachingPaul Buetow
2026-02-27flamegraph: ingest event pairs into live triePaul Buetow
2026-02-27flamegraph: add live trie scaffoldPaul Buetow