diff --git a/data_visualization/README.md b/data_visualization/README.md new file mode 100644 index 0000000..f65206d --- /dev/null +++ b/data_visualization/README.md @@ -0,0 +1,84 @@ +# Migration Performance Analysis – Data Visualization + +## Übersicht +Dieses Projekt bietet eine Weboberfläche zur **Visualisierung der Auswirkungen von vCPU‑Pinning** auf Migrationsspitzen und deren Metriken in virtualisierten Systemen. Ziel ist es, die Messergebnisse verständlich und interaktiv darzustellen, um Performance‑Unterschiede zwischen verschiedenen Pinning‑Setups zu analysieren. + +--- + +## Hauptfunktionen +- Darstellung der Migrationsmetriken nach Setup‐Typen: + - *unpinned* + - *halb gepinnt* + - *voll gepinnt* +- Visualisierung von Spike‑Auswertungen über **Chart.js**‑Diagramme +- Filterung nach **Lauf (run)** oder **Migrations‑Typ** +- Interaktive Aktualisierung der Diagramme bei Filteränderungen +- Automatisches Laden der Metrikdaten über die API‑Route */migration_report* +- Anzeige von Vergleichsstatistiken und Prozentwerten + +--- + +## Datenfluss +1. Beim Laden der Seite ruft `js/api.js` die Route **/migration_report** via `GET` auf. +2. Die API liefert ein JSON‑Objekt mit folgenden Feldern: + ```json + { + "setups": ["unpinned", "half_pinned", "pinned"], + "metrics": [{"name": "string", "value": "number", "unit": "string"}], + "spikes": [{"timestamp": "string", "intensity": "number"}] + } + ``` +3. `js/visualizations.js` nutzt **Chart.js**, um die Diagramme dynamisch zu rendern. +4. Änderungen an Filteroptionen führen zu einem erneuten API‑Abruf und Aktualisierung der visuell dargestellten Daten. + +--- + +## API‑Überblick +**Route:** `/migration_report` + +**Methode:** `GET` + +**Verwendung in:** `js/api.js`, `js/app.js` + +**Zweck:** +Abrufen der Migrationsmetriken und Klassifizierung nach Pinning‑Setup. + +**Optionale Parameter:** +- `filter` – Filterung nach *setup_type* +- `run_id` – Einschränkung auf einen bestimmten Lauf + +**Erwartete Antwortstruktur:** +```json +{ + "setups": ["unpinned", "half_pinned", "pinned"], + "metrics": [{"name": "string", "value": "number", "unit": "string"}], + "spikes": [{"timestamp": "string", "intensity": "number"}] +} +``` + +--- + +## Installation & Nutzung +1. Repository klonen oder entpacken. +2. Im Hauptverzeichnis einen lokalen Webserver starten (z. B. `python3 -m http.server`). +3. Im Browser die Startdatei (`index.html`) öffnen. +4. Die Anwendung lädt automatisch die Metriken über die definierte API‑Route. + +--- + +## Projektstruktur +``` +├── index.html +├── css/ +│ └── style.css +├── js/ +│ ├── app.js +│ ├── api.js +│ └── visualizations.js +└── README.md +``` + +--- + +## Lizenz und Hinweis +© 2026 Donau2Space.de