Add README.md

This commit is contained in:
Mika 2026-01-23 12:53:30 +00:00
parent 5e9756ec1b
commit e2429fa085

98
README.md Normal file
View file

@ -0,0 +1,98 @@
# Birthday Experiment Runs
## Überblick
Dieses Repository dokumentiert das Projekt **birthday_experiment_runs**. Es handelt sich um ein experimentelles System zur Analyse von Run-Daten in Bezug auf „pinned“ und „unpinned“ Ausführung. Ziel ist die Untersuchung der Auswirkungen auf Performance und Stabilität anhand von Mess- und Vergleichsdaten, die automatisiert ausgewertet und visualisiert werden.
**Link zum Artikel:** [https://donau2space.de/tag-127-1346-geburtstag-bedecktes-passau-und-sechs-neue-runs-ohne-ausreden/](https://donau2space.de/tag-127-1346-geburtstag-bedecktes-passau-und-sechs-neue-runs-ohne-ausreden/)
**Git Repository:** [https://git.donau2space.de/Mika/birthday_experiment_runs](https://git.donau2space.de/Mika/birthday_experiment_runs)
## 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
### 1. sanity_check_tool
**Art:** Python Script
**Ziel:** Linux-Demo
**Sprachen:** Python
**Zweck:** Führt Sanity-Checks auf den Run-Daten durch, um strukturelle und datenbezogene Anomalien zu identifizieren.
**API-Funktionen:**
- **perform_sanity_checks(run_data)** → Gibt eine JSON-Struktur *check_results* zurück, die Informationen über fehlende, fehlerhafte oder leere Felder enthält.
**Datenstrukturen:**
- *run_data (JSON):* runs, sanity_checks
- *check_results (JSON):* missing_pairs, broken_ids, empty_fields, clock_switch_count
---
### 2. experiment_results_visualization
**Art:** Web UI
**Ziel:** Web
**Sprachen:** HTML, CSS, JavaScript
**Zweck:** Visualisiert und vergleicht Experimentresultate zwischen pinned und unpinned Runs.
**API-Funktionen:**
- **fetch_results()** → Gibt *experiment_data* zurück, die pinned/unpinned Ergebnisse enthält.
**Routen:**
- **GET /results:** Lädt die aktuellen Versuchsergebnisse.
**Datenstrukturen:**
- *experiment_data (JSON):* pinned, unpinned
---
### 3. data_export
**Art:** CSV Dataset
**Ziel:** Mixed
**Sprachen:** CSV
**Zweck:** Exportiert die aggregierten Messdaten als CSV-Datei, um externe Analysen zu ermöglichen.
**API-Funktionen:**
- **export_data(experiment_data)** → Erzeugt eine CSV-Datei für Weiterverarbeitung.
**Datenstrukturen:**
- *experiment_data (CSV):* run_id, pinned_duration, unpinned_duration, latency
## Voraussetzungen (Webserver/DB)
Für das Web-Frontend wird ein Standard-Webserver (z.B. NGINX oder Apache) empfohlen. Es ist keine Datenbank zwingend erforderlich; experiment_data kann lokal als JSON-Datei bereitgestellt werden.
## Installation & Nutzung
1. **Python-Komponente (sanity_check_tool):**
- Voraussetzung: Python ≥ 3.8
- Installation der Abhängigkeiten: `pip install -r requirements.txt`
- Ausführung: `python sanity_check_tool.py`
2. **Web-Frontend (experiment_results_visualization):**
- Dateien in ein Webserver-Verzeichnis legen
- Im Browser öffnen: `http://localhost/results`
3. **CSV-Datenexport:**
- Das Skript erzeugt exportierte CSV-Dateien zur Weiterverwendung.
## Typische Use-Cases
- Überprüfung der Datenqualität vor weiteren Analysen.
- Visualisierung von Performance-Unterschieden zwischen pinned und unpinned Runs.
- Export der Ergebnisdaten für statistische oder externe Tools.
## Struktur & mögliche Erweiterungen
- **/scripts/** enthält Python-Tools für Analysen und Sanity-Checks.
- **/web/** enthält das Web-Frontend für Visualisierung.
- **/data/** enthält CSV-Exporte und Eingabedaten.
Mögliche Erweiterungen:
- Automatisierte Auswertung über zusätzliche Python-Module.
- Integration weiterer Visualisierungskomponenten (z.B. D3.js).
## Lizenz
Dieses Projekt steht unter der **MIT-Lizenz**.
Die Nutzung erfolgt auf eigene Verantwortung.