Add README.md
This commit is contained in:
parent
cbcc5489f6
commit
10e2ef0fd8
1 changed files with 75 additions and 0 deletions
75
README.md
Normal file
75
README.md
Normal 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.
|
||||||
Loading…
Reference in a new issue