From 745a214211bb5acd68f8ccfa999d8609b02a1550 Mon Sep 17 00:00:00 2001 From: Mika Date: Tue, 9 Dec 2025 14:56:51 +0000 Subject: [PATCH] Add README.md --- README.md | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..8334093 --- /dev/null +++ b/README.md @@ -0,0 +1,97 @@ +# mini_ci_probe – Mini Continuous Integration Probe + +## Überblick +Das Experiment **mini_ci_probe** untersucht einen Probelauf einer Mini-CI-Umgebung mit Schwerpunkt auf stratifiziertem Sampling, Split von Runnern und Bootstrap-Validierung. Ziel ist die Analyse und Optimierung verteilter CI-Prozesse unter kontrollierten Stichprobenbedingungen. + +[Artikel zum Experiment](https://donau2space.de/tag-82-mini-ci-probe-sampling-runner-split-und-ein-klarer-fortschritt/) + +### 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 +Das Repository enthält folgende Artefakte: + +### 1. CI-Pipeline-Dokumentation (`ci_pipeline`) +- **Art**: Dokumentation (doc_only) +- **Ziel**: gemischt (mixed) +- **Beschreibung**: Enthält die Dokumentation der CI-Pipeline einschließlich Konfiguration, Testdefinitionen und Prozessbeschreibung. +- **Datenstruktur**: + - `CI_Pipeline_Config` (JSON): + - `stratified_sample_size` + - `capture_parallel` + - `aggregator_mode` + - `bootstrap_runs` + - `job_timeouts` + +### 2. Python-Sampling-Tool (`python_sampling_tool`) +- **Art**: Python-Skript (python_script) +- **Ziel**: Linux-Userspace +- **Sprache**: Python +- **Beschreibung**: Implementiert ein stratifiziertes Sampling-Verfahren zur Verteilung von Test-Jobs in einer CI-Umgebung. +- **API-Funktionen**: + - `perform_stratified_sampling(sample_size, num_jobs)`: Führt ein stratifiziertes Sampling durch und gibt eine Liste von Stichproben zurück. +- **Datenstruktur**: + - `Sample` (JSON): + - `job_id` + - `data_points` + +### 3. Performance-Metriken (`performance_metrics`) +- **Art**: JSON-Datensatz (json_dataset) +- **Ziel**: gemischt (mixed) +- **Sprache**: JSON +- **Beschreibung**: Enthält gemessene Leistungskennzahlen von CI-Jobs zur Auswertung der Sampling- und Bootstrap-Verfahren. +- **Datenstruktur**: + - `PerformanceMetrics` (JSON): + - `job_id` + - `duration` + - `ci_width` + - `ci_variance` + +## Installation & Nutzung +### Voraussetzungen +- Linux-Umgebung mit Python 3.8 oder höher. + +### Installation +```bash +# Repository klonen +git clone +cd mini_ci_probe + +# Optionale Python-Umgebung erstellen +python -m venv venv +source venv/bin/activate + +# Abhängigkeiten installieren (falls vorhanden) +pip install -r requirements.txt +``` + +### Nutzung des Sampling-Tools +```bash +python python_sampling_tool.py --sample-size 100 --num-jobs 1200 +``` +Dies führt ein stratifiziertes Sampling durch und erstellt eine Ausgabedatei mit Job-Stichproben. + +## Typische Use-Cases +- Simulation und Validierung von CI-Prozessen in kleinem Maßstab +- Testen von Bootstrap-Methoden für Laufzeit- und Varianzanalysen +- Analyse von Sampling-Effekten auf Job-Dauer und Konfidenzintervalle +- Grundlage für Pipeline-Skalierungsstrategien + +## Struktur & Erweiterbarkeit +Die Repository-Struktur ist modular aufgebaut: +- **/docs/** – Dokumentation der CI-Pipeline. +- **/tools/** – Python-Skripte für Sampling-Prozesse. +- **/data/** – JSON-Dateien mit Messwerten. + +Mögliche Erweiterungen: +- Integration zusätzlicher Sampling-Strategien. +- Automatisierte Visualisierung der Leistungskennzahlen. +- Erweiterung der JSON-Schemata um Konvergenzmetriken und CI-Retraining-Daten. + +## Lizenz +Dieses Projekt steht unter der **MIT-Lizenz**. + +--- +*Erstellt und dokumentiert durch ein KI-basiertes System. Nutzung auf eigene Verantwortung.* \ No newline at end of file