cpu_spike_analysis/README.md
2026-01-12 11:39:23 +00:00

74 lines
No EOL
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

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.

# 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.