Add README.md

This commit is contained in:
Mika 2026-01-18 17:11:13 +00:00
parent cbcc5489f6
commit 10e2ef0fd8

75
README.md Normal file
View file

@ -0,0 +1,75 @@
# eBPF Write Hooks Analysis
## Überblick
Dieses Experiment mit dem Schlüssel **eBPF_Write_Hooks_Analysis** untersucht die Funktionsweise und Auswirkungen der write_pre- und write_post-Hooks unter Einsatz von eBPF-Instrumentierung. Ziel ist es, das Schreibverhalten und dessen Einfluss auf Lesevorgänge detailliert zu analysieren.
**Link zum Artikel:** [https://donau2space.de/tag-122-1747-klarer-himmel-ueber-passau-und-ich-hake-die-write_pre-write_post-hooks-direkt-an-die-stores/](https://donau2space.de/tag-122-1747-klarer-himmel-ueber-passau-und-ich-hake-die-write_pre-write_post-hooks-direkt-an-die-stores/)
**Git-Repository:** [https://git.donau2space.de/Mika/eBPF_Write_Hooks_Analysis](https://git.donau2space.de/Mika/eBPF_Write_Hooks_Analysis)
### Hinweis
Alle Inhalte wurden per KI generiert. Nutzung, Anpassung und Weiterentwicklung erfolgen eigenverantwortlich und auf eigenes Risiko. Es wird keine Korrektheit, Sicherheit, Funktionsfähigkeit oder rechtliche Eignung zugesichert.
## Inhalt des Repositories
Dieses Repository enthält Python-Analysetools und ein Web-Frontend zur Visualisierung der Ergebnisse.
### Artefakte
#### 1. trace_agg.py
- **Art:** Python-Skript
- **Ziel:** Linux Userspace
- **Sprachen:** Python
- **Zweck:** Analyse der eBPF-Trace-Daten mit Fokus auf write_pre- und write_post-Hooks.
- **API-Funktionen:**
- `analyze_trace(trace_data)` → führt eine Analyse der Trace-Daten durch und liefert Analyseergebnisse.
- **Datenstruktur:**
- `TraceData (JSON)` mit den Feldern `corr_id`, `event_type`, `timestamp`.
#### 2. marker_analysis
- **Art:** Python-Skript
- **Ziel:** Linux Userspace
- **Sprachen:** Python
- **Zweck:** Validierung der Marker und Untersuchung retry-freier Reads.
- **API-Funktionen:**
- `validate_markers(marker_data)` → prüft Marker-Daten und gibt Validierungsergebnisse zurück.
- **Datenstruktur:**
- `MarkerData (JSON)` mit den Feldern `marker_id`, `timestamp`, `status`.
#### 3. results_visualization
- **Art:** Web-UI
- **Ziel:** Webbrowser
- **Sprachen:** HTML, CSS, JavaScript
- **Zweck:** Darstellung der Analyseergebnisse der Write- und Read-Operationen.
- **Routen:**
- `/analyze_results (GET)` → lädt Analyseergebnisse für die Anzeige im Web-Frontend.
## Voraussetzungen (Webserver/DB)
Für die Visualisierung ist ein Webserver (z.B. Nginx oder Apache) erforderlich. Eine Datenbank ist optional und nur bei Bedarf zur Speicherung historischer Analysedaten nötig.
## Starten der Anwendung
1. Python ≥ 3.8 installieren.
2. Erforderliche Pakete installieren (`pip install -r requirements.txt`).
3. Analyse durchführen:
- `python trace_agg.py`
- `python marker_analysis`
4. Webserver starten und die HTML-Dateien aus `results_visualization/` bereitstellen.
## Typische Use-Cases
- Untersuchung von eBPF-Hook-Aktivitäten bei Schreibvorgängen.
- Validierung der Marker-Daten auf Integrität und Korrelation.
- Visualisierung von Trace-Zeiten, Latenzen und Korrelationen zwischen Write- und Read-Prozessen.
- Integration eigener eBPF-Datenquellen für performanceorientierte Analysen.
## Struktur & mögliche Erweiterungen
- **analysis/** enthält Python-Skripte zur Trace-Auswertung.
- **results_visualization/** statische Webanwendung zur Darstellung der Ergebnisse.
- **data/** Eingabe- und Beispiel-Traces.
Künftige Erweiterungen können die Unterstützung zusätzlicher Hook-Typen (z.B. read_pre/read_post) oder automatisierte Reportgenerierung umfassen.
## Lizenz
Dieses Projekt steht unter der **MIT-Lizenz**.
---
*Hinweis:* Alle Inhalte dieser README sowie die Projektdateien wurden automatisch durch KI generiert. Die Nutzung erfolgt ausschließlich auf eigene Verantwortung.