interferenz_map_analysis/2_interference_visualization/README.md

66 lines
No EOL
2.9 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Interferenz-Visualisierung Web-Frontend
## Ziel der Anwendung
Dieses Web-Frontend dient der dynamischen Visualisierung und Analyse von Interferenzmessdaten, um die Optimierung von Pool-Isolationen nachvollziehbar zu machen. Es unterstützt die Untersuchung der Zusammenhänge zwischen Messläufen und Leistungsmetriken (z.B. Tail-Latenz, Bandbreite) und stellt Veränderungen visuell dar.
## Hauptfunktionen
- **Dynamische Interferenzkurve:** Darstellung der Metrikverläufe in Echtzeit.
- **API-Datenanbindung:** Abruf von Messdaten über den Endpunkt `/visualization` (GET).
- **Filterfunktionen:** Auswahl spezifischer Runs (z.B. 31b, 32, 33, 34) und zugehöriger Metriken.
- **Visualisierung von Differenzen:** Gegenüberstellung von Tail-Latenz und Bandbreitenabweichungen.
- **Tooltip-Interaktion:** Anzeige von Detailwerten bei Maus- oder Touch-Hover.
- **Responsive Darstellung:** Automatische Anpassung der Diagrammgrößen an Desktop und Mobilgeräte.
## Datenfluss und Architektur
1. Beim Start wird die Anwendung initialisiert und ruft über die API `/visualization` die verfügbaren Messdaten ab.
2. Die Antwort enthält strukturierte JSON-Daten in der Form:
```json
{
"runs": ["31b", "32", "33", "34"],
"metrics": ["tail", "band_width"],
"data": [
{"run": "31b", "tail": 17, "band_width": -3},
{"run": "32", "tail": 19, "band_width": 2}
]
}
```
3. Das JS-Modul verarbeitet diese Rohdaten und aktualisiert die Chart-Komponente.
4. Benutzerinteraktionen (Filterauswahl oder Hover) führen zu einer dynamischen Aktualisierung der Grafik.
## Technische Struktur
```
/project-root
├─ index.html # Basisaufbau der Anwendung
├─ css/
│ ├─ style.css # Layout, Farben und responsive Design-Regeln
├─ js/
│ ├─ api.js # Anbindung an /visualization API, Fetch-Handler
│ ├─ chart.js # Rendering und Update der Diagramme
│ ├─ app.js # Einstiegspunkt, orchestriert Datenfluss und UI
├─ README.md # Dokumentation der Anwendung
```
## API-Verwendung
**Endpunkt:** `/visualization`
**Methode:** `GET`
**Parameter:**
- `run`: Filtert die Messdaten nach spezifischem Run.
- `metric`: Gibt an, welche Metrik dargestellt werden soll (z.B. `tail`, `band_width`).
**Zweck:** Liefert strukturierte Interferenz- und Leistungsdaten für die grafische Darstellung.
## Nutzung
1. Projekt im lokalen Webserver-Kontext starten.
2. Browser öffnen und `index.html` aufrufen.
3. Messlauf und Metrik auswählen.
4. Diagramm aktualisiert sich automatisch entsprechend der API-Daten.
## Responsiveness und Accessibility
- Darstellung ist **mobile-first** gestaltet.
- Farbkontraste und ARIA-Attribute sind beachtet.
- Die interaktive Chart-Komponente unterstützt Eingaben per Maus und Touch.
## Lizenz und Copyright
© 2026 Donau2Space.de