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