Skip to content

feat(performance): add monitor UI and shared process attribution - #955

Merged
Juliusolsson05 merged 6 commits into
mainfrom
feat/performance-monitor-ui
Sep 12, 2026
Merged

Juliusolsson05 merged 6 commits into
mainfrom
feat/performance-monitor-ui

Conversation

@Juliusolsson05

@Juliusolsson05 Juliusolsson05 commented Sep 12, 2026 •

Copy link
Copy Markdown
Owner

Ordinary users can open Performance Monitor from Settings → Performance, the command picker, or the existing header control. One overview shows CPU, approximate RSS, event-loop delay, window health, and operation histograms; a paged process table includes background and detached sessions.

Native sampling runs in the existing monitor utility process with bounded topology and PID/creation-time CPU intervals. Shared descendants are counted once; unavailable and truncated coverage stay explicit. Existing pane/freeze diagnostics read the same cache, and opening the monitor never starts extra native samplers.

Closes #951. Part 3 of #944, stacked on #953. Incidents, durable history, and explicit profiles follow in the remaining stages.

Validation: full main/renderer TypeScript check and production build passed. Nineteen final focused tests cover attribution, PID reuse, maximum-fleet transport, restart caching, parser limits, compatibility status, pagination and UI lifecycle. A real isolated Electron helper smoke passes native discovery and operation acknowledgement (63,700,992 bytes RSS in that sample, not a whole-app budget qualification). Accessibility-tree inspection confirms the overview/table; browser screenshot inspection was interrupted by an unattached debugger.

Two independent Agent Code orchestration reviews found valid process identity, ghost-process, restart-cache, freeze-evidence, fleet-starvation, pagination, pane-status, and feature-reference issues. This head fixes all of them with regression coverage; reviewers are verifying the final diff. CI reruns on this head.

Base automatically changed from feat/performance-collector to main September 12, 2026 22:47
Exclude the sampler process itself, bind session roots to backend and OS process identity, reserve process transport capacity at the declared fleet limit, and keep the last valid page across helper restarts. Preserve freeze diagnostics, pane activity state, and valid pagination while sharing the sampler.
@Juliusolsson05
Juliusolsson05 merged commit a27ba83 into main Sep 12, 2026
2 checks passed
@Juliusolsson05
Juliusolsson05 deleted the feat/performance-monitor-ui branch September 12, 2026 23:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(performance): expose live monitoring and managed process attribution

1 participant