Repository navigation
Description
Problem
PC load (#1671, added in #3038) shows CPU, memory and disks, but macOS omits memory and neither platform reports swap or GPU use. With one PC connected, load is off by default and easy to miss. Users also cannot choose which figures appear.
Proposal
Extend the existing /api/system sampling and PC details:
- Add a documented macOS physical-memory estimate from
vm_stat: anonymous pages + wired pages + pages physically occupied by the compressor, multiplied by the reported page size. This is not exact Activity Monitor parity or a memory-pressure reading. Linux keeps its current total-minus-MemAvailable estimate. - Add swap used / total from Linux meminfo and macOS
vm.swapusage. Zero configured swap differs from an unavailable reading; macOS total means currently allocated swap, not a fixed maximum. - Optionally report supported GPUs separately. Read Apple accelerator device utilization when the driver exposes it, and NVIDIA utilization/VRAM through an already-installed
nvidia-smion Linux. Missing or failed readings say Not measured, not 0%. No GPU tool or driver installation, and no dedicated-VRAM claim for Apple unified memory. - Add device-only Settings controls for CPU, Memory, Swap, GPU and Disk visibility. Keep the existing overall sidebar switch and two-connected-PC default, but make enabling readings for one PC easy from Settings. Keep individual GPUs separate in expanded details rather than average them into one misleading figure.
Would you prefer per-metric controls in the existing PC-load Settings area, or resource details there with fewer controls? The requested behavior is per-metric visibility. I would confirm a smaller scope before dropping it. The sidebar should remain compact, with expanded details for readings that do not fit.
Read-only collectors would have command deadlines and output caps. They would share the existing on-demand samples and visible-only polling. No sudo, new dependency, configuration change, history, charts, alerts or network statistics.
Where and alternatives
Sidebar PC load and Settings → Devices and PCs. The workaround is a separate system monitor or shell commands. This extends Ovis's existing multi-PC load UI rather than copying an interaction from a single-machine coding app. No code would be borrowed from another client.
Checks planned
Compare actual macOS commands with the collector; test page-size and compressor semantics, zero swap, missing commands, malformed output and multiple GPUs. Cover the HTTP contract and real isolated-app Settings/sidebar behavior at phone and desktop widths, including single-PC enablement and per-metric choices. Linux/NVIDIA hardware checks would be reported separately from parser coverage.
Does this fit the PC-load feature? I will wait for maintainer approval before writing code.
Activity