Add readme_md

This commit is contained in:
Mika 2026-01-15 10:47:40 +00:00
parent f98ce918fa
commit 31a1ad8deb

105
readme_md Normal file
View file

@ -0,0 +1,105 @@
# 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/](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](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`- oder `bpftrace`-Tooling (optional für erweiterte Tracing-Analyse)
### Installation
1. Repository klonen:
`git clone https://git.donau2space.de/Mika/publish_timeline_analysis`
2. Abhängigkeiten installieren:
`pip install -r requirements.txt`
3. Skripte ausführbar machen (optional):
`chmod +x *.py`
### Nutzung
Beispiel für die Nutzung der drei Module:
1. Erfassung von Publish-Events:
`python ebpf_trace_instrumentation.py`
2. Merging der Events:
`python trace_event_merging.py`
3. 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.