diff --git a/README.md b/README.md new file mode 100644 index 0000000..1189e1d --- /dev/null +++ b/README.md @@ -0,0 +1,74 @@ +# 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. \ No newline at end of file