96 lines
No EOL
3.9 KiB
Markdown
96 lines
No EOL
3.9 KiB
Markdown
# Run Set Analysis N=40
|
||
|
||
## Überblick
|
||
Dieses Repository enthält das Experiment **run_set_analysis_n40**. Ziel ist die Durchführung und Analyse von Run-Sets mit einer Stichprobengröße von N=40 zur Klassifikation von Retry-Verhalten und Stabilität in Schritt-Sequenzen.
|
||
|
||
**Artikel:** [https://donau2space.de/tag-123-1341-klarer-himmel-ueber-passau-und-ich-ziehe-das-n40-run-set-endlich-durch/](https://donau2space.de/tag-123-1341-klarer-himmel-ueber-passau-und-ich-ziehe-das-n40-run-set-endlich-durch/)
|
||
**Git Repository:** [https://git.donau2space.de/Mika/run_set_analysis_n40](https://git.donau2space.de/Mika/run_set_analysis_n40)
|
||
|
||
### 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 umfasst zwei Hauptartefakte:
|
||
|
||
### 1. trace_agg
|
||
- **Art:** Python-Skript (`python_script`)
|
||
- **Zielumgebung:** Linux Userspace
|
||
- **Sprachen:** Python
|
||
- **Zweck:** Durchführung von Analysen zur Klassifikation von Retries und Fensterzeiten pro Run.
|
||
|
||
**API-Funktionen:**
|
||
- **classify_runs(run_data)** → Klassifiziert einzelne Runs basierend auf Retry- und Fensterstatistiken.
|
||
- **compute_spearman_correlation(retry_count, window_duration)** → Berechnet den Spearman-Korrelationskoeffizienten zwischen Retry-Häufigkeit und Fensterdauer.
|
||
- **calculate_edit_distance(step_sequence, pinned_median_sequence)** → Berechnet die Abstandsmetrik zwischen Schrittsequenzen und einer Median-Referenzsequenz.
|
||
|
||
**Datenstrukturen:**
|
||
- **RunData (json)**: Felder `run_id`, `retry_free_reads`, `window_duration`
|
||
- **ClassificationResults (json)**: Felder `run_id`, `step_stability_score`, `correlation_coefficient`
|
||
|
||
### 2. results_visualization
|
||
- **Art:** Web-Oberfläche (`web_ui`)
|
||
- **Zielumgebung:** Webbrowser
|
||
- **Sprachen:** HTML, CSS, JavaScript
|
||
- **Zweck:** Interaktive Visualisierung der Analyseergebnisse in Diagrammform.
|
||
|
||
**API-Funktionen:**
|
||
- **fetch_results()** → Ruft aktuelle Analyseergebnisse ab und stellt sie für die Visualisierung bereit.
|
||
|
||
**Routen:**
|
||
- `GET /api/results` → Liefert aktuelle Analyseergebnisse im JSON-Format.
|
||
|
||
**JavaScript-Module:**
|
||
- `chart.js` für die Darstellung der Diagramme.
|
||
|
||
## Voraussetzungen
|
||
Für die Weboberfläche wird ein moderner Webbrowser benötigt. Optional kann ein lokaler Webserver (z. B. nginx, Apache oder Python HTTP-Server) eingesetzt werden, um die Visualisierungsseite bereitzustellen.
|
||
|
||
Zur Ausführung des Analyse-Skripts wird Python 3.9 oder höher empfohlen.
|
||
|
||
## Installation & Nutzung
|
||
|
||
### Python-Skript ausführen
|
||
1. Repository klonen:
|
||
```bash
|
||
git clone https://git.donau2space.de/Mika/run_set_analysis_n40.git
|
||
cd run_set_analysis_n40
|
||
```
|
||
2. Abhängigkeiten installieren:
|
||
```bash
|
||
pip install -r requirements.txt
|
||
```
|
||
3. Analyse starten:
|
||
```bash
|
||
python trace_agg.py input/run_data.json
|
||
```
|
||
|
||
### Web-UI starten
|
||
1. In das Webverzeichnis wechseln:
|
||
```bash
|
||
cd results_visualization
|
||
```
|
||
2. Lokalen Server starten:
|
||
```bash
|
||
python3 -m http.server 8080
|
||
```
|
||
3. Web-UI im Browser öffnen: [http://localhost:8080](http://localhost:8080)
|
||
|
||
## Typische Use-Cases
|
||
- Analyse von Run-Sets mit Fokus auf Retry-Mustern und Stabilität.
|
||
- Vergleich von Schrittsequenzen auf Abweichungen.
|
||
- Überwachung von Test- oder Produktionsläufen hinsichtlich Zuverlässigkeit.
|
||
- Visualisierung von Korrelationen und Abweichungen im Zeitverlauf.
|
||
|
||
## Struktur & Erweiterbarkeit
|
||
- **trace_agg.py:** Zentrale Analyselogik mit erweiterbarer API.
|
||
- **results_visualization/:** Weboberfläche zur Ergebnisauswertung.
|
||
- Erweiterungspotenzial:
|
||
- Neue Klassifikationsmetriken im Python-Skript.
|
||
- Zusätzliche Diagrammtypen in der Web-UI.
|
||
- Integration weiterer Datenquellen.
|
||
|
||
## Lizenz
|
||
Dieses Projekt steht unter der **MIT-Lizenz**.
|
||
|
||
*Hinweis:* Alle Inhalte wurden automatisch generiert. Verwendung und Modifikation auf eigenes Risiko. |