1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-08 19:26:48 +00:00
Commit graph

64 commits

Author SHA1 Message Date
catborise
24231813d7 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.
2026-10-09 11:59:41 +03:00
catborise
44b3b6569a fix(instances): the VM page opens the tab a redirect points to, and host links are for administrators
Redirects to #access (root password, SSH key) and other top-level panes
opened nothing, and some sub-tab ids did not exist. static/js/instance_tabs.js
opens the pane and the tab that holds it from the page structure, and
opens Settings on its first section, without leaving the current tab;
guest OS info is loaded whenever it is the section opened. The bottom bar linked to
host pages, which only administrators may open, and showed host names to
everyone. A stray </li> is removed; the page's inline scripts and the tab
logic are checked with Node.
2026-10-08 08:50:21 +03:00
catborise
731d14efd7 fix(instances): pages poll one request at a time, and not while hidden
The VM page polls the VM state every 5 s and, while its Stats tab is
open, the statistics every 10 s; the compute overview polls the host
graph every 5 s. All used setInterval:

- A new request went out on schedule while the previous one was still
  open. When a host goes silent, a stats request waits up to 30-45 s,
  so each open page held several sync workers at once.
- Each time the Stats tab was shown, the page made new charts and a
  new interval without stopping the old ones, and polling went on on
  the other tabs of the page.
- Hidden pages kept polling at full rate.

Measured in a browser against a test server (old code / new): Stats tab
shown 4 times, 31 s on it: 12 / 2 requests; 31 s on another tab of the
page: 12 / 0; page hidden for 31 s: 15 / 0, and the new code asks once
right after the page is shown again; with 25 s answers, at most 15 / 1
requests open at once.

static/js/poll.js repeats a request while the page is visible: the
next one 5 or 10 s after the previous answer, none while hidden, one at
once when shown again. The Stats tab makes its charts once and polls
only while shown. The answer handler runs after the poller's own
bookkeeping, so an error in it (a chart for a disk added meanwhile)
does not stop the polling. A Node test of poll.js runs with the test
suite when node is installed.
2026-10-05 16:55:50 +03:00
catborise
e980aca2ff feat(console): remove deprecated SPICE support in favor of noVNC
- Remove obsolete spice-html5 static assets and SPICE console templates
- Restrict default console types to VNC with migration 0012
- Filter out SPICE in VM creation form and backend capabilities
- Return friendly deprecation notice if legacy VM is opened with SPICE
- Clean up docs, architecture references, and libvirt-bootstrap scripts
2026-09-26 22:43:40 +03:00
catborise
3d4accf1b4 feat(novnc): upgrade noVNC from 1.2.0 to 1.7.0
- Upgrade vendored noVNC library in static/js/novnc/ from 1.2.0 to 1.7.0
- Remove obsolete IE11 polyfills (promise.js, browser-es-module-loader)
- Preserve custom app/styles/lite.css for embedded lite view
- Update console-vnc-full.html stylesheets, modern icon set, and dialogs
- Modernize console-vnc-full.html startup via UI.start() with Django context mapping
- Dynamically resolve package.json and localization dictionaries via import.meta.url
2026-09-26 18:25:44 +03:00
catborise
58b07d9b2b fix(frontend): update Bootstrap bundle source map to 5.3.3 2026-09-24 22:12:34 +03:00
catborise
891fb726d3 chore(frontend): update jQuery to 3.7.1 and Bootstrap to 5.3.3 2026-09-24 22:08:12 +03:00
catborise
6201a2fe9f replace old bootstrap statements: fas->fa, btn-block->d-grid, data-toggle->data-bs-toogle 2023-01-30 09:19:10 +03:00
catborise
63216d6283 update jquery to 3.6.1 2023-01-23 08:25:44 +03:00
catborise
12d3530641 update bootstrap-multiselect to 1.1.2 2023-01-23 08:25:44 +03:00
catborise
e3fb820b50 update bootstrap&bootswatch 5.0.2 -> 5.2.2. Seperate bootswatch overrides for future update easiness 2023-01-23 08:25:44 +03:00
catborise
0680f02240 remove css urls, add missing socketio requirements, fix cookie import, and rearrange socketiod connetion 2022-07-21 13:31:37 +03:00
catborise
e2a1bc5f7e update ace.js files for XML editors 2022-06-30 08:04:31 +03:00
catborise
d0e3c11ccf update spice-html5 packages to release 0.30 2022-06-28 12:20:16 +03:00
catborise
c1488eee52 navbars position is changed to stick-top 2021-10-01 09:48:09 +03:00
catborise
5c9b9ce15f fix font-awesome ref for search fas ->fa (4.7) 2021-07-12 13:36:16 +03:00
catborise
073b7b6717
Bootstrap5 (#17)
* Bootstrap5 migration
2021-07-07 14:12:38 +03:00
catborise
d9c23291de rearrange search functionality 2021-06-10 15:17:53 +03:00
catborise
05e4c72df0 update js-cookie to 2.2.1 2021-03-30 09:51:58 +03:00
catborise
90c3cc08fe update chart.js 2.9.3 to 2.9.4 2021-03-30 09:51:06 +03:00
catborise
5d14252957 update bootstrap 4.5.3 to 4.6.0 2021-03-30 09:48:23 +03:00
catborise
8bf2a50047 update jquery 3.5.2 -> 3.6.0 2021-03-30 09:47:37 +03:00
catborise
cf01625945 bootstrap-multiselect update to 0.9.16: bootstrap4 support 2020-11-16 12:06:22 +03:00
catborise
60b5de924f Ace.js upgrade to 1.4.12 2020-11-06 16:40:44 +03:00
catborise
43f1461e29 update novnc 1.1.0 ->1.2.0 2020-08-11 15:05:09 +03:00
Anatoliy Guskov
522b95fe39
Merge pull request #343 from catborise/consol_tunnel_fix
Consol tunnel fix
2020-07-14 19:05:49 +03:00
catborise
0b86e34203 replace tunnel.py with sshtunnel.py some small fixes 2020-07-14 15:44:20 +03:00
Real-Gecko
47009d47ca Instances overhaul 2020-07-13 15:33:09 +06:00
catborise
c0f707854a wsproxy patch 2020-06-26 16:31:41 +03:00
catborise
4f8a1fd50d fix console password & sendkey & css fixes & add scale vb 2020-06-24 12:39:32 +03:00
catborise
0e5840498e bootstrap 4.5 & Bootswatch Themes 2020-06-04 11:33:25 +03:00
catborise
e2b7b77da0 jquery update 3.4.1 -> 3.5.1 2020-06-04 08:52:32 +03:00
catborise
b48b112a40 Update Ace XML Editor 1.4.10 - Move seperate dir 2020-06-04 08:51:27 +03:00
Real-Gecko
27f62dff6c Added admin application
- Manage users
- Manage groups
- Manage logs
2020-05-27 18:24:06 +06:00
catborise
4d40de1b55 Python3 & Django 2.2 Migration - Fix & Updates 2020-03-16 16:59:45 +03:00
catborise
b768dbf59d update chart.bunjle.js to 2.9.3 2020-01-23 16:39:04 +03:00
catborise
562fe5c3dc Update spice-html5 2020-01-23 15:49:43 +03:00
catborise
228a0949d1 Full VNC view distortion fixed. Add translate for some texts 2019-11-20 09:19:57 +03:00
catborise
0974193e68 update chart.js 2.8.0 -> 2.9.2 2019-11-07 17:05:55 +03:00
catborise
15c42ee0f6 ace.js update to 1.4.5 2019-07-23 13:49:59 +03:00
catborise
e601c23b4a noVNC Update 1.0.0 -> 1.1.0 2019-06-24 14:26:25 +03:00
catborise
3879a1bded Update Chartjs 1.1.1 to 2.8.0 2019-05-21 09:04:42 +03:00
catborise
7986784375 Update jQuery 3.3.1 -> 3.4.1 2019-05-21 09:03:47 +03:00
catborise
1bd2c558f2 Update: js.cookie.js 2.1.1 -> 2.2.0 2019-03-21 10:55:32 +03:00
catborise
6b571ffb22 Update: jQuery 1.12.4 -> 3.3.1 2019-03-20 16:19:10 +03:00
catborise
c5776fc13b Update: Bootstrap 3.4.0 -> 3.4.1 2019-03-20 09:53:25 +03:00
catborise
ebf251ff5e Update bootstrap 3.3.7->3.4.0, update jquery 1.11.1->1.12.4 2019-02-11 11:08:36 +03:00
catborise
69be623eeb upgrade bootstrap-multiselect to v0.9.15 2018-10-31 16:51:11 +03:00
catborise
f68d53f3e4 upgrade chartjs 1.0.2 -> 1.1.1 2018-10-31 16:08:13 +03:00
catborise
52ade2ee9d update version 0.5 to 0.8 2018-09-10 16:18:01 +03:00