84 lines
2.5 KiB
Markdown
84 lines
2.5 KiB
Markdown
# 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
|