| probe_config | ||
| trace_agg | ||
| LICENCE.md | ||
| README.md | ||
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/
Git Repository: 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
- Voraussetzungen: Python 3.9 oder höher, Linux-Userspace mit eBPF-Unterstützung.
- Repository klonen und in das Projektverzeichnis wechseln:
git clone https://git.donau2space.de/Mika/no_cpu_switch_analysis cd no_cpu_switch_analysis - Abhängigkeiten installieren:
pip install -r requirements.txt - Skripte ausführen:
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.