migration_performance_analysis/data_visualization/README.md

84 lines
2.5 KiB
Markdown
Raw Permalink 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.

# Migration Performance Analysis Data Visualization
## Übersicht
Dieses Projekt bietet eine Weboberfläche zur **Visualisierung der Auswirkungen von vCPUPinning** auf Migrationsspitzen und deren Metriken in virtualisierten Systemen. Ziel ist es, die Messergebnisse verständlich und interaktiv darzustellen, um PerformanceUnterschiede zwischen verschiedenen PinningSetups zu analysieren.
---
## Hauptfunktionen
- Darstellung der Migrationsmetriken nach SetupTypen:
- *unpinned*
- *halb gepinnt*
- *voll gepinnt*
- Visualisierung von SpikeAuswertungen über **Chart.js**Diagramme
- Filterung nach **Lauf (run)** oder **MigrationsTyp**
- Interaktive Aktualisierung der Diagramme bei Filteränderungen
- Automatisches Laden der Metrikdaten über die APIRoute */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 JSONObjekt 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 APIAbruf 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 PinningSetup.
**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 APIRoute.
---
## Projektstruktur
```
├── index.html
├── css/
│ └── style.css
├── js/
│ ├── app.js
│ ├── api.js
│ └── visualizations.js
└── README.md
```
---
## Lizenz und Hinweis
© 2026 Donau2Space.de