summaryrefslogtreecommitdiff
path: root/internal/flags
AgeCommit message (Collapse)Author
2026-05-23Merge branch 'main' into developPaul Buetow
2026-05-230c promote aggregate-only sampling defaults in raw output modesPaul 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-21m7 classify time and posix timer syscallsPaul Buetow
2026-05-21j7 add futex kind and aggregate-only defaultsPaul Buetow
2026-05-21p7 add attach-time trace dimension gatingPaul Buetow
2026-05-20feat: add syscall aggregate sampling infrastructure (task 17)Paul Buetow
2026-05-19t6 stabilize family recording integrationPaul Buetow
2026-05-14chore: bump version to v1.1.0v1.1.0mainPaul Buetow
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13add TUIFastRefreshInterval flag to flags.ConfigPaul Buetow
Add TUIFastRefreshInterval time.Duration to flags.Config struct with a default of 250ms and register it as the -tui-fast-refresh CLI flag so callers can tune or disable the high-frequency TUI refresh cadence for the flamegraph and stream tabs. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13refactor: break down functions exceeding 50 lines into smaller helpersPaul Buetow
Split 22 production files across the codebase — event loop, TUI models, probe manager, dashboard, export, flag parsing, code generation, and ioworkload scenarios — so that no function body exceeds 50 lines. Each extracted helper carries its own comment explaining its role. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13refactor: move TraceFilter and tracepoint selector logic out of flags.ConfigPaul Buetow
- Add tracepoints.Selector type with ShouldAttach method and ParseSelector constructor, replacing the raw TracepointsToAttach/TracepointsToExclude regex slices on flags.Config. - Add flags.BuildTraceFilter as a standalone function replacing the Config.TraceFilter() method, keeping filter-building logic out of the config struct. - Remove stale ShouldIAttachTracepoint noise-filter entry from Magefile. - Add selector_test.go with full coverage of ParseSelector and ShouldAttach. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13fix: reject negative and zero -duration flag values with a clear errorPaul Buetow
A negative or zero -duration was silently accepted, causing the trace context to be cancelled immediately (time.Duration(N) * time.Second with N <= 0 yields a non-positive timeout), so no events were ever captured. parseFromFlagSet now returns an error for Duration <= 0, matching the existing pattern used for -resetTimer validation. Three new tests cover the negative, zero, and valid positive cases. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13replace global flags singleton with Parse() returning Config valuePaul Buetow
Remove the global atomic.Pointer[Config], sync.Once, and parseErr fields from the flags package. Parse() now returns (Config, error) directly, eliminating all global-state accessors (Get, SetPidFilter, SetTidFilter, SetTUIExportEnable, setCurrent, updateCurrent). The internal parse logic is factored into parseFromFlagSet so tests can inject a fresh FlagSet without touching os.Args or package-level state. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12rename ShouldIAttachTracepoint receiver from flags to fPaul Buetow
The receiver name flags shadowed the package name flags, making the package inaccessible inside the method body. Rename to f to match all other receivers in flags.go and add a doc comment. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-12add Go doc comments to exported fields on flags.Config and globalfilter.FilterPaul Buetow
Document every exported field in Config (flags package) and Filter, NumericFilter, StringFilter (globalfilter package) with a concise one-line doc comment describing its purpose and behaviour. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-09add auto-reset timer for dashboard aggregatesPaul Buetow
Live flamegraph trie and stats engine grow unboundedly during long traces. Add a periodic auto-reset (same effect as the 'r' key) so they stay bounded. - New CLI flag -resetTimer=30s (default 30s, 0 disables). - Hotkey I cycles the cadence: off -> 15s -> 30s -> 60s -> 5m -> off. Custom intervals (e.g. -resetTimer=47s) advance to the first preset greater than the current value, then wrap to off. - autoResetTickMsg carries a generation counter so changing the cadence drops in-flight ticks scheduled under the previous interval. - Dashboard chrome shows 'auto-reset: 30s' or 'auto-reset: off'.
2026-05-07release 1.0.0v1.0.0Paul Buetow
2026-05-07update docs and ascii bannerPaul Buetow
2026-04-18chore: bump version to v0.0.1v0.0.1Paul Buetow
2026-03-18cleanupPaul Buetow
2026-03-13Reorder flags declarations (task 390)Paul Buetow
2026-03-13docs: explain parquet recording modesPaul Buetow
2026-03-13feat: add headless parquet recording modePaul Buetow
2026-03-12fix: restore legacy flamegraph trace output modePaul Buetow
2026-03-10config: centralize default buffer sizes (task 388)Paul Buetow
2026-03-09tui: export filtered stream rows from global CSV action (task 364)Paul Buetow
2026-03-08task 367: carry full trace filters through TUI contextPaul Buetow
2026-03-06docs: add missing godoc comments for exported APIs (task 382)Paul Buetow
2026-03-06refactor: rename flags.Flags to flags.Config (task 383)Paul Buetow
2026-03-06refactor: share collapse field validation lists (task 387)Paul Buetow
2026-03-06refactor: remove web flamegrapher and keep TUI-onlyPaul Buetow
2026-03-06flamegraph: make esc undo one zoom level and aggregate syscalls by defaultPaul Buetow
2026-03-06Add live flamegraph test modes and dynamic synthetic live feedPaul Buetow
2026-03-05Add package-level docs across internal packagesPaul Buetow
2026-03-05Refactor flags state to constructor-backed snapshotsPaul Buetow
2026-03-04Fix Go mistake findings and stabilize integration timingPaul Buetow
2026-03-03Add watch mode for dynamic flamegraph updatesPaul Buetow
2026-03-03Add WASM-ready flamegraph JSON exportPaul Buetow
2026-03-02Make --open a command template with no defaultsPaul Buetow
2026-03-02Add --open support for live flamegraph browser launchPaul Buetow
2026-03-02change default duration to 10minPaul Buetow
2026-03-01Move BPF setup off flags.FlagsPaul Buetow
2026-03-01flags: return parse errors instead of exiting (task 321)Paul Buetow
2026-02-27flamegraph: default live update interval to 200msPaul Buetow
2026-02-27flags: change default flamegraph order to comm-firstPaul Buetow
2026-02-27internal: validate live CLI mode behaviorPaul Buetow
2026-02-27flags: add live flamegraph CLI optionsPaul Buetow
2026-02-26tui: revamp status keys and add pid/tid reselection flowPaul Buetow
2026-02-24flags: make TUI export toggle atomicPaul Buetow
2026-02-24flamegraph: remove external tool path and document native generationPaul Buetow