Add visualization_tool/README.md

This commit is contained in:
Mika 2026-02-24 13:33:05 +00:00
parent 8dddf4fcf4
commit 6be3c5b35c

View file

@ -0,0 +1,101 @@
# Laufzeit-Analyse- und Visualisierungs-Tool
## Ziel der Anwendung
Dieses Web-Tool dient der **Analyse und Visualisierung von Laufzeitdaten** unterschiedlicher Runs. Es ermöglicht eine präzisere Bewertung von Timing-Entscheidungen durch interaktive Diagramme, eine klare 2×2Matrix-Darstellung sowie flexible Filtermöglichkeiten.
---
## Hauptfunktionen
- **Visualisierung von ΔtVerteilungen:** Darstellung der zeitlichen Differenzen zwischen Runs als Histogramm oder Scatterplot.
- **Analyse-Matrix (2×2):** Übersichtliche Zuordnung von Fällen nach *pinned / unpinned* und *Δt ≥ 0 / Δt < 0*.
- **Filter:** Auswahl bestimmter Runs per `policy_hash` oder `RunNummer`.
- **Interaktive Charts:** Darstellung von Trends und Metriken (z.B. Warn und UnknownRate) mit LiveUpdates.
- **APIgestützte Datenerfassung:** Automatischer Abruf aggregierter Laufdaten über `/api/data`.
- **Responsives Dashboard:** Anpassungsfähiges Layout für Desktop und Mobile.
- **AnalyseZusammenfassung:** Kompakte Darstellung der wichtigsten Erkenntnisse aus dem aktuellen Datensatz.
---
## Architektur & Aufbau
Die Anwendung besteht aus drei zentralen Bestandteilen:
### 1. **HTML (Basisgerüst)**
Strukturiert das Dashboard mit Komponenten wie FilterBereich, MatrixViewer, ChartContainer und AnalyseSummary.
### 2. **CSS (Layout & Design)**
Verwaltet das responsive Erscheinungsbild auf Basis eines flexiblen GridLayouts.
CSSVariablen steuern Farben, Abstände und Schrifthöhen, um Einheitlichkeit über das gesamte Dashboard sicherzustellen.
### 3. **JavaScript (Logik & Interaktivität)**
Modularisiert in folgende Dateien:
- `js/api.js` FetchLogik für die RESTRoute `/api/data`.
- `js/dataLoader.js` Berechnung und Aufbereitung der Metriken aus den APIDaten.
- `js/chartRenderer.js` Visualisierung der vorbereiteten Daten in interaktiven Diagrammen.
- `js/app.js` Einstiegspunkt; regelt Datenfluss, Initialisierung und Benutzerinteraktion.
---
## Datenfluss & APINutzung
Die Datenpipeline folgt einem klaren Ablauf:
1. **Abruf:** `app.js` ruft mit `fetch` die Daten von `/api/data` ab.
2. **Verarbeitung:** `dataLoader` bereitet die Daten auf, berechnet Kennzahlen und verteilt sie an die VisualisierungsModule.
3. **Darstellung:** `chartRenderer` aktualisiert dynamisch die Diagramme und Matrices im Dashboard.
### APIRoute `/api/data`
**Methode:** `GET`
**Parameter (optional):**
- `run`
- `policy_hash`
- `filter_pinned`
**Antwortstruktur:** JSONArray von Objekten mit:
```json
{
"run_id": 42,
"policy_hash": "abc123",
"pinned_status": true,
"delta_t": -0.12,
"warn_rate": 0.04,
"unknown_rate": 0.01
}
```
Diese Daten dienen der Erzeugung der ΔtVerteilung und der statistischen Auswertung in der 2×2Matrix.
---
## Nutzung & Bedienung
1. **Start:** Öffnen der Hauptseite im Browser.
2. **Filter setzen:** Auswahl nach gewünschtem Run oder PolicyHash.
3. **Analyse starten:** Die Charts und die Matrix aktualisieren sich automatisch.
4. **Ergebnisse interpretieren:** DashboardSummary zeigt zentral aggregierte Kennzahlen.
Das Tool arbeitet vollständig clientseitig und ruft Daten ausschließlich über die definierte API ab.
---
## Responsives Verhalten
Das Dashboard verwendet ein flexibles Layout, das sich an Bildschirmbreiten anpasst:
- **Mobile:** vertikal gestapelte Module.
- **Desktop:** nebeneinanderliegende Analysebereiche mit skalierenden Diagrammen.
---
## Erweiterungshinweise
- Neue Metriken können in `dataLoader.js` berechnet und direkt an `chartRenderer` übergeben werden.
- Zusätzliche Filteroptionen können im HTMLFilterbereich ergänzt werden; die EventVerarbeitung erfolgt zentral über `app.js`.
- Weitere APIRouten lassen sich analog zu `/api/data` integrieren, solange sie JSON liefern.
---
## Lizenz & Copyright
© 2026 Donau2Space.de