feat(conso) : voir qui consomme, et laisser de quoi l'exploiter #38

Merged
foXaCe merged 1 commit from feat/conso-top-widget into main 2026-10-17 13:36:00 +02:00
Owner

Le panneau

« Qui consomme » classe, dans la colonne de gauche, le nœud puis les conteneurs qui tournent, du plus gros au plus petit. Bascule processeur / mémoire ; les trois premiers rangs ressortent.

De quoi qu'un agent exploite les relevés

Sortie Contenu
GET /api/conso JSON stable : instantané (nœud + invités, octets et pourcentages), classement demandé, résumé de l'historique
GET /api/conso?tri=memoire même chose, classée par mémoire
journal une ligne compacte, au plus toutes les 5 min
INFO conso: conso ts=1792236874.36 noeud_cpu=67.2 noeud_mem_pct=22.5
  noeud_mem_octets=7329767424 invites=11
  top=forgejo:25.4,agents:16.2,nuvio-backend:8.2,tailscale-gw:1.5,technitium:0.9

Un tampon circulaire garde les 120 derniers relevés (~20 min à la cadence de la page). La cadence annoncée est mesurée entre les deux derniers échantillons : c'est la page, ou l'agent, qui décide du rythme.

L'échantillon se compose de ce que /api/status vient de lire : aucun appel supplémentaire à Proxmox. BlocPve gagne mem_used et mem_total — comparer le nœud aux invités demande des octets des deux côtés.

Vérifié

  • 121 tests Rust verts, cargo clippy -D warnings muet, cargo fmt propre
  • svelte-check 0 erreur / 0 warning
  • endpoint et ligne de journal contrôlés en réel sur le LXC 137
## Le panneau « Qui consomme » classe, dans la colonne de gauche, **le nœud puis les conteneurs** qui tournent, du plus gros au plus petit. Bascule processeur / mémoire ; les trois premiers rangs ressortent. ## De quoi qu'un agent exploite les relevés | Sortie | Contenu | |---|---| | `GET /api/conso` | JSON stable : instantané (nœud + invités, octets et pourcentages), classement demandé, résumé de l'historique | | `GET /api/conso?tri=memoire` | même chose, classée par mémoire | | journal | une ligne compacte, au plus toutes les 5 min | ```text INFO conso: conso ts=1792236874.36 noeud_cpu=67.2 noeud_mem_pct=22.5 noeud_mem_octets=7329767424 invites=11 top=forgejo:25.4,agents:16.2,nuvio-backend:8.2,tailscale-gw:1.5,technitium:0.9 ``` Un **tampon circulaire** garde les 120 derniers relevés (~20 min à la cadence de la page). La cadence annoncée est **mesurée** entre les deux derniers échantillons : c'est la page, ou l'agent, qui décide du rythme. L'échantillon se compose de ce que `/api/status` vient de lire : **aucun appel supplémentaire à Proxmox**. `BlocPve` gagne `mem_used` et `mem_total` — comparer le nœud aux invités demande des octets des deux côtés. ## Vérifié - **121 tests Rust** verts, `cargo clippy -D warnings` muet, `cargo fmt` propre - `svelte-check` 0 erreur / 0 warning - endpoint et ligne de journal contrôlés en réel sur le LXC 137
feat(conso) : voir qui consomme, et laisser de quoi l'exploiter
All checks were successful
CI (backend Rust) / Rust (backend) (pull_request) Successful in 13s
6015ef1244
Un panneau « Qui consomme » classe, dans la colonne de gauche, le nœud puis
les conteneurs qui tournent, du plus gros au plus petit. On bascule entre
processeur et mémoire ; les trois premiers rangs ressortent (erreur,
avertissement, primaire).

Derrière, de quoi qu'un agent exploite les relevés :

- `POST`… non : `GET /api/conso` rend un JSON stable — l'instantané avec le
  nœud (processeur, mémoire en octets et en pourcentage) et chaque invité
  (`vmid`, nom, processeur, mémoire utilisée et allouée), le classement
  demandé, et de quoi juger l'historique. `?tri=memoire` classe par mémoire.
- Un tampon circulaire garde les 120 derniers relevés (une vingtaine de
  minutes à la cadence de la page). La cadence annoncée est **mesurée** entre
  les deux derniers échantillons : c'est la page, ou l'agent, qui décide du
  rythme, pas le serveur.
- Le journal reçoit une ligne compacte et analysable, au plus une toutes les
  cinq minutes, pour garder une trace durable sans noyer `journalctl` :
  `conso ts=… noeud_cpu=… noeud_mem_pct=… invites=… top=forgejo:25.4,agents:16.2,…`

L'échantillon se compose de ce que `/api/status` vient de lire : aucun appel
supplémentaire à Proxmox. `BlocPve` gagne `mem_used` et `mem_total` — comparer
le nœud aux invités demande des octets des deux côtés.

Vérifié : 121 tests Rust verts, clippy muet, svelte-check 0 erreur /
0 warning, endpoint et ligne de journal contrôlés sur le LXC 137.
foXaCe merged commit 22ed3f8b73 into main 2026-10-17 13:36:00 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
foXaCe/pve-control!38
No description provided.