# 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