Add README.md
This commit is contained in:
parent
96f4552bc1
commit
5dc8ef6e93
1 changed files with 82 additions and 0 deletions
82
README.md
Normal file
82
README.md
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
# no_cpu_switch_analysis
|
||||
|
||||
## Überblick
|
||||
Dieses Projekt dient der Analyse von "no_cpu_switch"-Spikes durch erweiterte Logging-Techniken mit eBPF und datengestützte Entscheidungsfindung. Ziel ist es, Ursachen von ungewöhnlichen Scheduler-Ereignissen zu identifizieren und diese anhand korrelierter Trace-Daten systematisch zu klassifizieren.
|
||||
|
||||
**Link zum Artikel:** [https://donau2space.de/tag-118-1617-nebel-ueber-passau-und-ich-entlarve-zwei-no_cpu_switch-spikes-als-versteckte-switches/](https://donau2space.de/tag-118-1617-nebel-ueber-passau-und-ich-entlarve-zwei-no_cpu_switch-spikes-als-versteckte-switches/)
|
||||
|
||||
**Git Repository:** [https://git.donau2space.de/Mika/no_cpu_switch_analysis](https://git.donau2space.de/Mika/no_cpu_switch_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
|
||||
|
||||
### trace_agg
|
||||
- **Art:** Python-Skript
|
||||
- **Ziel:** Linux Userspace
|
||||
- **Beschreibung:** Aggregiert Trace-Daten aus Ereignisprotokollen und erzeugt kompaktes JSON für nachfolgende Analyse.
|
||||
- **Sprache:** Python
|
||||
|
||||
**API-Funktion:**
|
||||
- `aggregate_trace_data(correlation_id) → json` – Zusammenführung und Aggregation von Trace-Einträgen mit gemeinsamer Korrelations-ID.
|
||||
|
||||
**Datenstruktur:**
|
||||
- `TraceData` (JSON): enthält Felder *had_sched_switch*, *had_irq*, *had_softirq*, *cpu_ids_seen*.
|
||||
|
||||
---
|
||||
|
||||
### decision_tree
|
||||
- **Art:** Python-Skript
|
||||
- **Ziel:** Linux Userspace
|
||||
- **Beschreibung:** Führt eine Klassifizierung von Scheduler-Ereignissen basierend auf Kontextmarkern durch und leitet daraus Entscheidungsableitungen ab.
|
||||
- **Sprache:** Python
|
||||
|
||||
**API-Funktion:**
|
||||
- `classify_event(context_marker) → string` – Klassifiziert Event auf Basis von Kontextinformationen.
|
||||
|
||||
---
|
||||
|
||||
### probe_config
|
||||
- **Art:** Dokumentation
|
||||
- **Ziel:** Gemischt (Analyseunterstützung)
|
||||
- **Beschreibung:** Enthält Informationen zu Read-/Write-Probes zur Verfeinerung der Event-Analyse.
|
||||
|
||||
---
|
||||
|
||||
## Installation & Nutzung
|
||||
1. **Voraussetzungen:** Python 3.9 oder höher, Linux-Userspace mit eBPF-Unterstützung.
|
||||
2. Repository klonen und in das Projektverzeichnis wechseln:
|
||||
```bash
|
||||
git clone https://git.donau2space.de/Mika/no_cpu_switch_analysis
|
||||
cd no_cpu_switch_analysis
|
||||
```
|
||||
3. Abhängigkeiten installieren:
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
4. Skripte ausführen:
|
||||
```bash
|
||||
python trace_agg.py
|
||||
python decision_tree.py
|
||||
```
|
||||
|
||||
## Typische Use-Cases
|
||||
- Identifikation von Anomalien im Scheduler-Verhalten.
|
||||
- Klassifizierung von CPU-Switch-Ereignissen anhand von Kontextmerkmalen.
|
||||
- Aggregation großer Mengen von Trace-Daten für maschinelle Lernverfahren.
|
||||
- Erweiterbare Basis für fortgeschrittene Performance-Analysen unter Linux.
|
||||
|
||||
## Struktur & Erweiterbarkeit
|
||||
- **/trace_agg.py** – Aggregationsmodul für Trace-Daten.
|
||||
- **/decision_tree.py** – Klassifikationslogik.
|
||||
- **/docs/probe_config.md** – Dokumentation zu Probes und Analyseparametern.
|
||||
|
||||
Erweiterungen können z. B. durch zusätzliche Analyse-Module, überarbeitete Klassifikationsmodelle oder Integration in Monitoring-Pipelines erfolgen.
|
||||
|
||||
## Lizenz
|
||||
Dieses Projekt steht unter der **MIT-Lizenz**.
|
||||
|
||||
Hinweis: Inhalte wurden automatisch generiert. Nutzung auf eigene Verantwortung.
|
||||
Loading…
Reference in a new issue