feat(dockermem): sous-total RAM affiché + total tous conteneurs

Ajout .gitignore pour __pycache__/ (absent jusqu'ici).
This commit is contained in:
perco
2026-07-04 14:31:39 +02:00
parent ef63eb3a50
commit 7c1cf65be1
2 changed files with 17 additions and 2 deletions
+15 -2
View File
@@ -130,6 +130,8 @@
.dm-toolbar { display: flex; gap: 8px; align-items: center; margin-bottom: 8px; font-size: 13px; }
.dm-toolbar input[type="number"] { background: #21262d; border: 1px solid var(--border); color: var(--text); border-radius: 5px; padding: 3px 8px; font-size: 12px; width: 70px; }
.dm-toolbar input[type="number"]:focus { outline: none; border-color: var(--accent); }
.dm-summary { font-size: 12px; color: var(--muted); margin-bottom: 8px; }
.dm-summary b { color: var(--text); }
.netmap-save-btn { background: none; border: 1px solid var(--border); color: var(--accent); border-radius: 5px; padding: 3px 10px; font-size: 11px; cursor: pointer; transition: background .15s; }
.netmap-save-btn:hover { background: #21262d; }
.netmap-flash { font-size: 11px; color: var(--green); width: 14px; display: inline-block; }
@@ -595,11 +597,21 @@ function dmRender(containers) {
const el = document.getElementById('dockermem-body');
if (!el) return;
const thresholdBytes = dmThreshold * 1024 * 1024;
const rows = containers.filter(c => c.mem_bytes >= thresholdBytes).slice(0, 20);
const matching = containers.filter(c => c.mem_bytes >= thresholdBytes);
const rows = matching.slice(0, 20);
const totalAll = containers.reduce((s, c) => s + c.mem_bytes, 0);
if (!rows.length) {
el.innerHTML = `<span style="color:var(--muted)">Aucun conteneur au-dessus de ${dmThreshold} Mo</span>`;
return;
}
const subtotalShown = rows.reduce((s, c) => s + c.mem_bytes, 0);
const hiddenCount = matching.length - rows.length;
const summary = `Sous-total (${rows.length} conteneur${rows.length > 1 ? 's' : ''} affiché${rows.length > 1 ? 's' : ''}` +
(hiddenCount > 0 ? `, ${hiddenCount} de plus au-dessus du seuil non affiché${hiddenCount > 1 ? 's' : ''}` : '') +
`) : <b>${fmt_bytes(subtotalShown)}</b> · Total tous conteneurs : ${fmt_bytes(totalAll)}`;
const trs = rows.map(c => {
const pct = c.mem_pct || 0;
const pctColor = pct > 50 ? 'var(--red)' : (pct > 20 ? 'var(--yellow)' : 'var(--muted)');
@@ -609,7 +621,8 @@ function dmRender(containers) {
<td style="color:${pctColor}">${pct.toFixed(1)}%</td>
</tr>`;
}).join('');
el.innerHTML = `<table class="nc-table">
el.innerHTML = `<div class="dm-summary">${summary}</div>
<table class="nc-table">
<thead><tr><th>Conteneur</th><th>RAM utilisée</th><th>% limite</th></tr></thead>
<tbody>${trs}</tbody>
</table>`;