| ebpf_trace_instrumentation | ||
| LICENCE.md | ||
| readme.md | ||
publish_timeline_analysis
Überblick
Dieses Repository dokumentiert und implementiert den Versuchsaufbau publish_timeline_analysis. Das Experiment untersucht die Analyse und Sichtbarmachung von Publish-Reihenfolgen in einem komplexen Systemumfeld mit Fokus auf eBPF-Instrumentation, Event-Korrelation und Merging-Strategien.
Link zum Artikel: https://donau2space.de/tag-119-1135-nebel-frisst-die-donau-und-ich-zeichne-endlich-eine-saubere-publish-timeline-fuer-case_03-04/
Git Repository: https://git.donau2space.de/Mika/publish_timeline_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 drei Python-Skripte, die Analyse und Instrumentation von Publish-Events unterstützen.
Artefakte
1. ebpf_trace_instrumentation
- Art: python_script
- Ziel: linux-demo
- Sprachen: Python
- Zweck: Erweiterung der eBPF-Instrumentation zur Erfassung von Publish-Events in Linux-Umgebungen.
API-Funktionen:
add_event(event_type, event_data)– Fügt ein neues Event in den eBPF-Trace-Kontext ein.
Datenstruktur:
PublishEvent– JSON-Struktur mit Feldern:ktime_ns,CPU,field_tag,new_value_hash,corr_id.
2. trace_event_merging
- Art: python_script
- Ziel: linux-demo
- Sprachen: Python
- Zweck: Merging von Read- und Write-Events zu konsistenten Publish-Sequenzen.
API-Funktionen:
merge_events(read_events, write_events)– Kombiniert Ereignisse anhand von Korrelations-IDs zu einer Merge-Sequenz.
Datenstruktur:
MergedEvent– JSON-Struktur mit Feldern:corr_id,combined_sequence.
3. window_sweep_analysis
- Art: python_script
- Ziel: linux-demo
- Sprachen: Python
- Zweck: Analyse von Zeitfenstern und ihrer Auswirkungen auf Publish-Sequenzen.
API-Funktionen:
perform_window_sweep(window_sizes)– Führt eine Analyse mehrerer Betrachtungsfenster aus und liefert Abweichungsmetriken.
Datenstruktur:
SweepResult– JSON-Struktur mit Feldern:window_size,mismatch_count,retry_burst_width.
Installation & Nutzung
Voraussetzungen
- Python 3.9 oder höher
- Linux-System mit eBPF-Unterstützung
bcc- oderbpftrace-Tooling (optional für erweiterte Tracing-Analyse)
Installation
-
Repository klonen:
git clone https://git.donau2space.de/Mika/publish_timeline_analysis -
Abhängigkeiten installieren:
pip install -r requirements.txt -
Skripte ausführbar machen (optional):
chmod +x *.py
Nutzung
Beispiel für die Nutzung der drei Module:
-
Erfassung von Publish-Events:
python ebpf_trace_instrumentation.py -
Merging der Events:
python trace_event_merging.py -
Analyse nach Fenstergrößen:
python window_sweep_analysis.py
Typische Use-Cases
- Validierung von Publish-Ordern in Multicore-Systemen
- Experimentelle Korrelation von Event-Timelines mittels eBPF
- Zeitfensteranalyse für Publish-Resequencing-Mechanismen
- Erstellung von Trace-basierten Visualisierungen
Struktur & Erweiterbarkeit
Die drei Python-Module sind unabhängig strukturiert, arbeiten jedoch auf einem gemeinsamen Datenmodell (Publish-Events).
Erweiterungen können erfolgen durch:
- zusätzliche Event-Typen in
ebpf_trace_instrumentation - neue Merge-Strategien in
trace_event_merging - zusätzliche Metriken in
window_sweep_analysis
Die JSON-basierten Datenstrukturen erleichtern die Integration in externe Analysepipelines.
Lizenz
Veröffentlicht unter der MIT-Lizenz.
Nutzung und Weiterentwicklung erfolgen auf eigene Verantwortung.