Add readme_md
This commit is contained in:
parent
f98ce918fa
commit
31a1ad8deb
1 changed files with 105 additions and 0 deletions
105
readme_md
Normal file
105
readme_md
Normal 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.
|
||||||
Loading…
Reference in a new issue