{% extends "basis.html" %}{% block titel %}{{ t.vlast.titel }} – Timbre{% endblock %} {# /verwaltung/last (29.10.2026): anonyme Lastübersicht – nur Zahlen, nie Konten, Adressen, Dateien oder Pfade (timbre_api/last.py). Die Kacheln tragen data-k (Pfad im JSON) und data-f (Format); static/verwaltung_last.js füllt die Kacheln aus dem Datenblock und danach alle 10 s aus GET /api/v1/verwaltung/last und zeichnet die Kurven. Image Schemas: oben = mehr (große Kacheln zuerst), Mitte = jetzt, links → rechts = Zeit (vor 24 h … jetzt), nah = ähnlich (Uploads/Analysen/Server als 3er-Block, der Rest als 5er-Block). #} {% macro zeile(name, k, f="zahl", von=none) %}
{{ name }}
–
{% endmacro %} {% macro kopf(titel, ampel, id) %}

{{ titel }}

{% endmacro %} {% block inhalt %}{% set x = t.vlast %}{% set k = x.k %}
{{ x.eyebrow }}

{{ x.titel }}

{{ x.lead }}

–

{{ x.jetzt_titel }}

{{ kopf(k.uploads, "uploads", "vl-up-h") }}

– {{ k.laufen }}

{{ zeile(k.beta ~ " · " ~ k.plaetze, "uploads.beta.laufend", "von", "uploads.beta.plaetze") }} {{ zeile(k.beta ~ " · " ~ k.durchsatz, "uploads.beta.bytes_s", "bps") }} {{ zeile(k.analyse_up ~ " · " ~ k.aktiv, "uploads.analyse.aktiv") }} {{ zeile(k.analyse_up ~ " · " ~ k.offen, "uploads.analyse.offen") }} {{ zeile(k.analyse_up ~ " · " ~ k.durchsatz, "uploads.analyse.bytes_s", "bps") }}
{{ kopf(k.analysen, "analysen", "vl-an-h") }}

– {{ k.wartend }}

{{ zeile(k.laufend, "analysen.laufend") }} {{ zeile(k.arbeiter, "analysen.arbeiter_belegt", "von", "analysen.arbeiter") }} {{ zeile(k.vorgemerkt, "analysen.vorgemerkt") }} {{ zeile(k.fertig_h, "analysen.fertig_h") }} {{ zeile(k.fehler_h, "analysen.fehler_h") }} {{ zeile(k.je_track, "analysen.dauer_s", "dauer") }} {{ zeile(k.rest, "analysen.rest_s", "dauer") }}
{{ kopf(k.server, "cpu", "vl-sv-h") }}

– {{ k.cpu }}

{{ k.ram }}
–
{{ k.platte }}
–
{{ zeile(k.container, "server", "container") }}
{{ k.schwer }}
–
{{ zeile(k.ollama, "server.ollama", "ollama") }}

{{ k.abgleich }}

{{ zeile(k.laufend, "abgleich.laufend", "von", "abgleich.plaetze") }}{{ zeile(k.pakete_min, "abgleich.pakete_min") }}{{ zeile(k.desktop_min, "abgleich.desktop_min") }}
{{ kopf(k.abspielen, "abspielen", "vl-sp-h") }}
{{ zeile(k.stroeme, "abspielen.stroeme", "von", "abspielen.plaetze") }}{{ zeile(k.wandlungen, "abspielen.wandlungen", "von", "abspielen.wandlungen_plaetze") }}

{{ k.pakete }}

{{ zeile(k.laufend, "pakete.laufend", "von", "pakete.plaetze") }}

{{ k.tags }}

{{ zeile(k.laeufe, "tags.laufend") }}

{{ k.anfragen }}

{{ k.r429 }}
–
{{ k.r5xx }}
–

{{ x.verlauf_titel }}

–

{% for r in ("cpu", "ram_frei", "uploads", "wartend", "stroeme", "abgleich", "r429", "r5xx") %}
{{ x.reihen[r] }} –
{% endfor %}
{{ x.stunden_titel }} –
{{ x.tabelle }}
{% for s in x.spalten %}{% endfor %}
{{ s }}
{% endblock %}