docs: Mermaid-Diagramme zur Systemanzeige in Kapitel 07
Sequenzdiagramm des Abfragewegs (GUI-Poll, /api/sysstat, sysstat.js, /proc und statfs, 60-s-Puffer des recordings-Scans, 2-s-Ticker fuer die CPU- Differenz) und Flussdiagramm der beiden Rechenwege (Ring = Aufnahmen durch frei plus Aufnahmen; Ventilator = Drehstufe und Ampel).
This commit is contained in:
@@ -135,6 +135,55 @@ Einheit allein in die nächste Zeile und sah aus wie ein fehlender Wert.
|
|||||||
- Farbe: grün < 75 %, gelb ab 75 %, rot ab 90 %; beim Ventilator zählt der schlimmste Wert aus CPU, RAM
|
- Farbe: grün < 75 %, gelb ab 75 %, rot ab 90 %; beim Ventilator zählt der schlimmste Wert aus CPU, RAM
|
||||||
und Temperatur (Temperatur skaliert 45 °C → 0 %, 90 °C → 100 %).
|
und Temperatur (Temperatur skaliert 45 °C → 0 %, 90 °C → 100 %).
|
||||||
|
|
||||||
|
### Ablauf einer Abfrage
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
sequenceDiagram
|
||||||
|
autonumber
|
||||||
|
participant GUI as Browser (main.js)
|
||||||
|
participant API as server.js
|
||||||
|
participant SYS as sysstat.js
|
||||||
|
participant K as Kernel (/proc, statfs)
|
||||||
|
participant FS as recordings/
|
||||||
|
|
||||||
|
Note over SYS: eigener Ticker alle 2 s:<br/>/proc/stat lesen, CPU-% aus der Differenz
|
||||||
|
loop alle 5 s (im Hintergrund-Tab ausgesetzt)
|
||||||
|
GUI->>API: GET /api/sysstat
|
||||||
|
API->>SYS: status()
|
||||||
|
SYS->>K: statfs(recordings/) · /proc/meminfo · thermal_zone*/temp
|
||||||
|
K-->>SYS: frei/gesamt · MemAvailable · °C je CPU-Zone
|
||||||
|
alt Scan älter als 60 s
|
||||||
|
SYS->>FS: readdir rekursiv + stat (nur Audio-Endungen)
|
||||||
|
FS-->>SYS: Bytes + Dateizahl → Puffer
|
||||||
|
else Puffer frisch
|
||||||
|
Note over SYS: Puffer wiederverwenden,<br/>Scan höchstens 1× pro Minute
|
||||||
|
end
|
||||||
|
SYS-->>API: {cpu, ram, disk, temp}
|
||||||
|
API-->>GUI: JSON
|
||||||
|
GUI->>GUI: paintSysmon(): Ring, Balken, Zahlen,<br/>--spin (Stufe), Ampelfarbe
|
||||||
|
end
|
||||||
|
Note over GUI: nach jedem render() sofort<br/>paintSysmon(sysmon.last) — die Kopfzeile<br/>wird komplett neu geschrieben
|
||||||
|
```
|
||||||
|
|
||||||
|
Rechenwege der beiden Anzeigen:
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
flowchart LR
|
||||||
|
subgraph Ring["Ring — Aufnahme-Vorrat"]
|
||||||
|
F["freier Platz<br/>statfs.bavail"] --> B(("Vorrat<br/>= frei + Aufnahmen"))
|
||||||
|
R["Aufnahmen<br/>Summe aller mp3 + wav in recordings/<br/>(inkl. Papierkorb)"] --> B
|
||||||
|
R --> P["Prozent = Aufnahmen / Vorrat"]
|
||||||
|
B --> P
|
||||||
|
end
|
||||||
|
subgraph Fan["Ventilator — Last"]
|
||||||
|
C["CPU %<br/>/proc/stat-Differenz"] --> S["spinSeconds()<br/>7 s … 0,35 s in Stufen"]
|
||||||
|
C --> W{"schlimmster Wert"}
|
||||||
|
M["RAM %<br/>MemAvailable"] --> W
|
||||||
|
T["CPU-Temperatur<br/>soc/bigcore/littlecore"] --> W
|
||||||
|
W --> A["Ampel grün / gelb / rot"]
|
||||||
|
end
|
||||||
|
```
|
||||||
|
|
||||||
## Deploy-Ablauf (von Windows aus)
|
## Deploy-Ablauf (von Windows aus)
|
||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
|
|||||||
@@ -3,6 +3,14 @@
|
|||||||
Chronik der Entwicklungsschritte. **Regel: jede zukünftige Änderung bekommt hier einen Eintrag** (Datum,
|
Chronik der Entwicklungsschritte. **Regel: jede zukünftige Änderung bekommt hier einen Eintrag** (Datum,
|
||||||
Was, Warum, betroffene Dateien/Backups).
|
Was, Warum, betroffene Dateien/Backups).
|
||||||
|
|
||||||
|
## 2026-08-17 (Nachtrag 6) — Diagramme zur Systemanzeige
|
||||||
|
|
||||||
|
Kapitel 07 nachgerüstet: ein Sequenzdiagramm für den Abfrageweg (GUI-Poll → `/api/sysstat` →
|
||||||
|
`sysstat.js` → `/proc`/`statfs`, dazu der 60-s-Puffer des `recordings/`-Scans und der 2-s-Ticker für
|
||||||
|
die CPU-Differenz) und ein Flussdiagramm für die beiden Rechenwege (Ring = Aufnahmen / (frei +
|
||||||
|
Aufnahmen); Ventilator = Drehstufe aus CPU-%, Ampel aus dem schlimmsten Wert von CPU, RAM,
|
||||||
|
CPU-Temperatur). Damit erfüllt die Änderung die Hausregel „neue Abläufe als Mermaid-Diagramm“.
|
||||||
|
|
||||||
## 2026-08-17 (Nachtrag 5) — „CPU-Temperatur“ statt Zonenname in Klammern
|
## 2026-08-17 (Nachtrag 5) — „CPU-Temperatur“ statt Zonenname in Klammern
|
||||||
|
|
||||||
Die Zeile heißt jetzt „CPU-Temperatur“ und zeigt nur noch `46,2 °C`; der Zonenname in Klammern
|
Die Zeile heißt jetzt „CPU-Temperatur“ und zeigt nur noch `46,2 °C`; der Zonenname in Klammern
|
||||||
|
|||||||
Reference in New Issue
Block a user