74 lines
No EOL
2.9 KiB
Markdown
74 lines
No EOL
2.9 KiB
Markdown
# CPU Spike Analysis
|
||
|
||
## Überblick
|
||
Das Experiment **cpu_spike_analysis** untersucht und visualisiert CPU-Spikes anhand von Scheduler-Events und Migrationen. Es bietet Werkzeuge zur Klassifikation und interaktiven Darstellung von CPU-Lastmustern, um Ursachen und Dynamiken von Spikes besser zu verstehen.
|
||
|
||
[Artikel lesen](https://donau2space.de/tag-116-1231-leichter-schnee-ueber-passau-und-ich-sortiere-meine-15-fiesesten-spikes-nach-cpu-pfaden/)
|
||
[Git Repository](https://git.donau2space.de/Mika/cpu_spike_analysis)
|
||
|
||
### Hinweis
|
||
Alle Inhalte wurden per KI generiert.
|
||
Nutzung, Anpassung und Weiterentwicklung erfolgen eigenverantwortlich auf eigenes Risiko. Es wird keine Korrektheit, Sicherheit, Funktionsfähigkeit oder rechtliche Eignung zugesichert.
|
||
|
||
## Inhalt des Repositories
|
||
Das Repository umfasst zwei Hauptkomponenten:
|
||
|
||
### 1. spike_classifier
|
||
- **Art:** Python-Skript
|
||
- **Zielumgebung:** Linux Userspace
|
||
- **Sprachen:** Python
|
||
- **Zweck:** Klassifiziert CPU-Spikes und berechnet zugehörige Kennwerte.
|
||
|
||
**API-Übersicht:**
|
||
- **Funktion `classify_spikes(json_data)`**: Analysiert übergebene JSON-Daten zu Scheduler-Events und gibt strukturierte Spikeresultate zurück.
|
||
|
||
**Datenstruktur `classified_spikes`:** JSON-Objekte mit den Feldern
|
||
- spike_id
|
||
- cpu_path
|
||
- reorder_score
|
||
- timestamp
|
||
- signature
|
||
|
||
### 2. spike_visualizer
|
||
- **Art:** Web-UI
|
||
- **Zielumgebung:** Webbrowser
|
||
- **Sprachen:** HTML, CSS, JavaScript
|
||
- **Zweck:** Interaktive Visualisierung der klassifizierten Spikes.
|
||
- **Abhängigkeiten:** d3.js
|
||
|
||
**API-Routen:**
|
||
- **`GET /api/spikes`** – liefert die klassifizierten Spikes als JSON.
|
||
|
||
## Installation & Nutzung
|
||
### Voraussetzungen
|
||
- Linux-System mit Python ≥ 3.8
|
||
- Webserver oder lokaler HTTP-Server
|
||
|
||
### Installation (generisch)
|
||
1. Repository klonen:
|
||
`git clone https://git.donau2space.de/Mika/cpu_spike_analysis`
|
||
2. Python-Abhängigkeiten installieren:
|
||
`pip install -r requirements.txt`
|
||
3. Datensätze vorbereiten und Skripte im Projektverzeichnis ausführen.
|
||
|
||
### Nutzung
|
||
- **Analyse:** CPU-Trace-Datei oder Event-JSON mit `spike_classifier` verarbeiten.
|
||
- **Visualisierung:** `spike_visualizer` über lokalen Webserver laden und die Ergebnisse darstellen.
|
||
|
||
## Typische Use-Cases
|
||
- Untersuchung ungewöhnlicher CPU-Auslastungen.
|
||
- Analyse von Migrationen zwischen Kernen.
|
||
- Visualisierung von Performance-Anomalien im Scheduler.
|
||
- Vergleich mehrerer Systeme oder Kernel-Versionen anhand von Spike-Signaturen.
|
||
|
||
## Struktur & Erweiterbarkeit
|
||
- **Modularer Aufbau:** Analyse (Python) und Visualisierung (Web) sind getrennt.
|
||
- **Erweiterungen:**
|
||
- Zusätzliche Klassifikationsalgorithmen oder Heuristiken im Python-Modul.
|
||
- Integration weiterer Visualisierungskomponenten in der Web-UI.
|
||
- Export von Analyseergebnissen in alternative Formate.
|
||
|
||
## Lizenz
|
||
Dieses Projekt steht unter der **MIT-Lizenz**.
|
||
|
||
Alle Inhalte wurden automatisch durch KI erstellt. Die Nutzung erfolgt vollständig auf eigene Gefahr. |