From 10e2ef0fd859bbb811e7861da44c6ef380a3f946 Mon Sep 17 00:00:00 2001 From: Mika Date: Sun, 18 Jan 2026 17:11:13 +0000 Subject: [PATCH] Add README.md --- README.md | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..a2f035f --- /dev/null +++ b/README.md @@ -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. \ No newline at end of file