pi_day_repetition_study/readme_md
2026-03-14 17:17:15 +00:00

106 lines
No EOL
3.8 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# pi_day_repetition_study
## Überblick
Untersuchung der Stabilität von Leistungsdaten durch wiederholte Replikation von Tests zur Analyse von Ausreißern und Mustern. Ziel ist es, die Kausalität von Variablen zu testen und einen Cluster-Score zu definieren.
**Link zum Artikel:** [https://donau2space.de/tag-177-pi-day-zwei-byte-identische-4x-runs-22-23-das-resonanzband-bleibt/](https://donau2space.de/tag-177-pi-day-zwei-byte-identische-4x-runs-22-23-das-resonanzband-bleibt/)
**Git Repository:** [https://git.donau2space.de/Mika/pi_day_repetition_study](https://git.donau2space.de/Mika/pi_day_repetition_study)
### 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
Das Repository enthält drei Python-Skripte, die gemeinsam den vollständigen Analysezyklus des Experiments **pi_day_repetition_study** abbilden.
### Artefaktliste
#### 1. data_collection_tool
- **Art:** python_script
- **Ziel:** linux-userspace
- **Sprache:** Python
- **Zweck:** Automatisierte Erfassung und Speicherung von Laufzeitdaten aus Replikationsläufen
- **API-Funktionen:**
- `collect_performance_data(run_id)` Erfasst Leistungsdaten eines bestimmten Laufes und speichert sie als Datenstruktur `data_dict`.
- **Datentyp `data_dict`:** Felder: `run_id`, `p50`, `p95`, `max_alerts`, `total_overhead`
#### 2. stability_analysis
- **Art:** python_script
- **Ziel:** linux-userspace
- **Sprache:** Python
- **Zweck:** Analyse der gesammelten Daten zur Erkennung von Stabilitätsclustern und Ausreißern
- **API-Funktionen:**
- `analyze_data(data_list)` Identifiziert stabile Cluster und Muster in der Datengesamtheit und liefert `analysis_results`.
- **Datentyp `analysis_results`:** Felder: `stable_cluster`, `outlier_counts`, `patterns`
#### 3. report_generation
- **Art:** python_script
- **Ziel:** linux-userspace
- **Sprache:** Python
- **Zweck:** Erstellung eines strukturierten Berichts auf Basis der Analyseergebnisse
- **API-Funktionen:**
- `generate_report(analysis_results)` Erzeugt einen Bericht und gibt den Speicherpfad `report_path` zurück.
- **Datentyp `report_path`:** Feld: `file_location`
---
## Installation & Nutzung
### Voraussetzungen
- Python 3.9 oder höher
- Linux-Umgebung mit Zugriff auf Shell
### Installation
1. Repository klonen:
```bash
git clone https://git.donau2space.de/Mika/pi_day_repetition_study.git
cd pi_day_repetition_study
```
2. Abhängigkeiten installieren (sofern vorhanden):
```bash
pip install -r requirements.txt
```
### Nutzung
1. Datenerfassung starten:
```bash
python data_collection_tool.py
```
2. Analyse ausführen:
```bash
python stability_analysis.py
```
3. Bericht generieren:
```bash
python report_generation.py
```
---
## Typische Use-Cases
- Bewertung der Stabilität von Benchmark- oder Performancetests
- Erkennung von systematischen Ausreißern in Replikationsläufen
- Dokumentation wiederholter Messreihen mit Berichterstellung
- Korrelation von Variablen zur Ermittlung möglicher Kausalbeziehungen
---
## Struktur & Erweiterbarkeit
Das Projekt ist modular aufgebaut. Jedes Python-Skript kann separat oder im Verbund genutzt werden.
- Erweiterbar durch zusätzliche Analysemodule oder alternative Formate für Berichte.
- API-Strukturen im JSON-Format erleichtern Integration in vorhandene Pipelines.
Empfohlene Erweiterungen:
- Integration zusätzlicher Datenquellen
- Erweiterung um visuelle Darstellung der Analyseergebnisse
- Automatisierte Schwellentesterkennung
---
## Lizenz
Veröffentlicht unter der **MIT-Lizenz**.
Die Nutzung erfolgt auf eigenes Risiko. Für die bereitgestellten Skripte wird keine Gewährleistung übernommen.