mirror of
https://github.com/retspen/webvirtcloud
synced 2026-11-09 11:46:49 +00:00
perf(instances): the VM stats no longer wait a second per poll
Each stats answer carries a signed sample of the counters, bound to the VM, its compute and UUID. The next poll sends it back and the rates are the averages since then; a sample from another run of the VM (domain ID), another host CPU count or device list, or older than 30 s falls back to one second as before. Windows are measured on the monotonic clock. Now that a poll is cheap, the Stats tab polls every 5 s like the host graph, the first time as soon as it opens (pollWhileVisible takes the delay of the first request). A counter the host reports as unsupported (-1) or that went back gives no value instead of 0 or a jump; a NIC without a target keeps its chart, a pool volume disk is measured, and a disk or NIC attached after the page loaded no longer stops the other charts. Disk rates are MB/s (they were MiB/s labelled Mb/s), network Mbit/s; the CPU tooltip names the window.
This commit is contained in:
parent
27f4845086
commit
24231813d7
8 changed files with 501 additions and 152 deletions
|
|
@ -92,4 +92,13 @@ assert.strictEqual(answers.length, 8, "each answer reaches onData");
|
|||
failNext = true; requests[8].finish();
|
||||
assert.ok(requests[8].error, "the error reaches the page");
|
||||
advance(10000); assert.strictEqual(requests.length, 10, "polling goes on after an error in onData");
|
||||
|
||||
// a first delay of 0: the first request at once, then every interval
|
||||
poll.stop(); requests[9].finish();
|
||||
const atOnce = pollWhileVisible(5000, request, onData, 0);
|
||||
advance(0); assert.strictEqual(requests.length, 11, "first request after firstDelay");
|
||||
requests[10].finish();
|
||||
advance(4999); assert.strictEqual(requests.length, 11);
|
||||
advance(1); assert.strictEqual(requests.length, 12, "then every interval");
|
||||
atOnce.stop();
|
||||
console.log("poll.js: all checks passed");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue