From 6849707c43bb8b87f9913fc26b6a69d51777d209 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Tue, 13 Oct 2026 11:30:07 +0200 Subject: fix(perf): review findings in the service and the panel - The panel loads only while open. Its models are fresh arrays every sample, so a hidden instance rebuilt its rows every 2s for the whole session. - The public IP fetch never kills one already running, and waits 30 minutes from the last attempt, not the last success: a rate-limited or offline fetch was retried every minute. - curl -4, so an IPv6 answer cannot silently stall the VPN check. - CPU load sums only the first eight /proc/stat fields. guest and guest_nice are already inside user and nice, and counting them again read high while VMs ran. - df gets timeout -k; the VRAM scan is not restarted over itself. - The GPU name joins the host constants in Perf.qml. Co-Authored-By: Claude Opus 5.5 --- desktop/island/perf/test_perf.js | 2 ++ 1 file changed, 2 insertions(+) (limited to 'desktop/island/perf/test_perf.js') diff --git a/desktop/island/perf/test_perf.js b/desktop/island/perf/test_perf.js index c336cf0..5f39f5d 100644 --- a/desktop/island/perf/test_perf.js +++ b/desktop/island/perf/test_perf.js @@ -35,6 +35,8 @@ assert.strictEqual(t.length, 3); assert.deepStrictEqual(t[0], { total: 1000, idle: 850 }); assert.deepStrictEqual(t[1], { total: 500, idle: 425 }); assert.deepStrictEqual(P.cpuTimes(""), []); +// guest and guest_nice are already inside user and nice: not added twice. +assert.deepStrictEqual(P.cpuTimes("cpu 100 0 0 100 0 0 0 0 80 0"), [{ total: 200, idle: 100 }]); // load: busy share of the delta; no prev, or no time passed, is null. assert.strictEqual(P.load({ total: 1000, idle: 850 }, { total: 1100, idle: 925 }), 25); -- cgit v1.2.3