diff options
| author | Danilo M. <danix@danix.xyz> | 2026-10-16 09:50:42 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-10-16 09:50:42 +0200 |
| commit | ecf306d043b62c1646a95027b4e2144be7c69178 (patch) | |
| tree | a6671d804040f7563ebee9c2e05c6e344918ceef /desktop/modules/perf/README.md | |
| parent | dc8c94052e491f7cb1d1f8095afbcee574510d42 (diff) | |
| download | quickshell-ecf306d043b62c1646a95027b4e2144be7c69178.tar.gz quickshell-ecf306d043b62c1646a95027b4e2144be7c69178.zip | |
feat(perf): the performance page moves to the drawer, with ~/.cache
The island's performance icon and panel are gone: the drawer page covers
them. With only one host left, the panel drops its three-column grid for
one card per row at a larger size, since the page scrolls; temperatures
get a card of their own as tiles. The files move from island/perf to
modules/perf.
A cache card ports conky's: ~/.cache and its five largest children,
measured with du each time the page opens (28ms over 2 GiB here) rather
than read from conky's 15-minute sampler file. The largest is yellow,
red past half the total, as conky had it.
The warning dot now shows only on the drawer tile.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'desktop/modules/perf/README.md')
| -rw-r--r-- | desktop/modules/perf/README.md | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/desktop/modules/perf/README.md b/desktop/modules/perf/README.md new file mode 100644 index 0000000..dea5a7e --- /dev/null +++ b/desktop/modules/perf/README.md @@ -0,0 +1,36 @@ +# perf + +The figures the conky dashboard used to show, as a drawer page of cards, one +per row; the page scrolls. CPU load with a bar per core, the CPU model and +RAM; every temperature as a tile; the Arc B580's VRAM and fan (no +utilisation, xe exposes none); download and upload over the last minute, the +LAN address and the public IP; the five mounts with their usage; and +`~/.cache` with its five largest children. `Perf.qml` reads them; `Perf.js` +holds the parsing, tested by `node desktop/modules/perf/test_perf.js`. + +The tile shows CPU and RAM, and a dot for the worst of these, yellow or red: + +| Input | Yellow | Red | +| --- | --- | --- | +| each temperature | its warn | its crit | +| RAM | 85% | 95% | +| each disk | 90% | 95% | +| public IP | | differs from the pinned one | + +CPU load is left out, since spikes would flicker it. There is no hysteresis, +so a sensor sitting on its threshold can toggle the dot. The pin beside the +public IP stores the address shown as `perf.pinnedIp` in +`$XDG_STATE_HOME/quickshell/desktop.json`; the check exists because the VPN +into the LAN depends on the ISP's fixed address. The fetch is +`curl -4 https://ipinfo.io/ip` every 30 minutes from the last attempt, into +`~/.cache/udt/pubip.txt`, the file conky's sampler used. A failed fetch is +never a mismatch: the old value goes stale after 4 hours and shows as a dash. + +CPU, RAM, temperatures and disks are sampled always. Per-core load, the +network rate, VRAM (a scan of every fdinfo, ~14ms) and the fan run only while +the page is open. The mount list, `br0`, the GPU name and the 12 GiB VRAM +size are constants in `Perf.qml`. + +The cache card runs `du -B1 -d1` once each time the page opens, 28ms over +2 GiB, instead of reading conky's 15-minute `cachesize.txt`. The largest +child is yellow, red when it holds over half the total, as conky had it. |
