p99_spike_analysis/README.md
2026-01-09 14:49:08 +00:00

109 lines
No EOL
3.5 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.

# P99 Spike Analysis
## Überblick
Analyse der P99-Spitzen und deren Zusammenhang mit Migration-Events und CPU-Wechseln in einem Linux-basierten System. Dieses Repository enthält Skripte zur Detektion, Korrelation und Visualisierung von Performance-Spitzen (P99) im Zusammenhang mit Migrationen.
**experiment_key:** p99_spike_analysis
**Link zum Artikel:** [https://donau2space.de/tag-113-1537-bedeckt-ueber-passau-und-ich-jage-die-p99-spitzen-wie-einzelne-sternschnuppen-im-log/](https://donau2space.de/tag-113-1537-bedeckt-ueber-passau-und-ich-jage-die-p99-spitzen-wie-einzelne-sternschnuppen-im-log/)
**Git Repository:** [https://git.donau2space.de/Mika/p99_spike_analysis](https://git.donau2space.de/Mika/p99_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
### 1. spike_finder
**Art:** Python-Skript
**Ziel:** Linux Userspace
**Sprache:** Python
**Zweck:** Analyse und Identifikation von P99-Spitzen in Log-Daten.
**API-Funktionen:**
- `find_spikes(log_data, threshold)` Analysiert Log-Daten und liefert eine Liste erkannter Spike-Events.
**Datenstruktur:**
- `SpikeEvent` (JSON): enthält `timestamp`, `value`, `context_window`.
---
### 2. migration_analysis
**Art:** Python-Skript
**Ziel:** Linux Userspace
**Sprache:** Python
**Zweck:** Analyse von Migrations-Events und deren Einfluss auf die P99-Spitzen.
**API-Funktionen:**
- `analyze_migration_impact(log_data)` Ermittelt statistische Migrationsauswirkungen auf Spike-Events.
**Datenstruktur:**
- `MigrationImpact` (JSON): Felder `unpinned_spikes`, `pinned_spikes`, `migration_effect`.
---
### 3. results_visualization
**Art:** Web-Frontend
**Ziel:** Web
**Sprachen:** HTML, CSS, JavaScript
**Zweck:** Darstellung der Analyseergebnisse zu P99-Spitzen und CPU-Migrationen.
**API-Routen:**
- **GET** `/api/spike_data` Liefert analysierte Spike-Daten zur Anzeige.
**UI-Komponenten:** `button`, `chart`
**JavaScript-Module:** `chart.js`
---
## Installation & Nutzung
### Voraussetzungen
- Linux-Umgebung
- Python 3.8+ installiert
- Webbrowser für Visualisierung
### Installation
1. Repository klonen:
`git clone https://git.donau2space.de/Mika/p99_spike_analysis`
2. In das Verzeichnis wechseln:
`cd p99_spike_analysis`
3. Abhängigkeiten installieren:
`pip install -r requirements.txt`
### Ausführung
- Analyse von Log-Daten:
`python spike_finder.py --input system.log --threshold 99`
- Migration-Analyse starten:
`python migration_analysis.py --input system.log`
- Ergebnisse lokal visualisieren: Öffnen von `results_visualization/index.html` im Browser
---
## Typische Use-Cases
- Untersuchung unerklärlicher Latenzspitzen in Produktionsumgebungen
- Performance-Analyse bei CPU-Affinitätsänderungen
- Visualisierung von Zusammenhängen zwischen Migrationsaktivität und P99-Verhalten
- Nachträgliche Fehleranalyse unter Linux
---
## Struktur & Erweiterbarkeit
- **/scripts** Python-Module zur Datenanalyse
- **/visualization** Web-Frontend zur Ergebnisdarstellung
- **/data** Beispiel-Logs oder Testdaten
Erweiterbar um weitere Analysemodule für Speicher-, IO- oder Netzlatenzen. API-Strukturen sind generisch und JSON-kompatibel aufgebaut.
---
## Lizenz
Veröffentlicht unter der **MIT-Lizenz**.
---
*Hinweis:* Diese README.md wurde automatisch per KI generiert. Nutzung auf eigenes Risiko.