n40_read_analysis/README.md
2026-01-20 12:12:27 +00:00

80 lines
No EOL
3.3 KiB
Markdown
Raw Permalink 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.

# N40 Read Analysis
## Überblick
Das Experiment **n40_read_analysis** untersucht die Performance von pinned und unpinned Reads im N40-Szenario. Ziel ist die Erfassung und Auswertung von Retry-freien Reads sowie deren Klassifikation nach Latenz und Erfolgsquote über verschiedene Laufkonfigurationen hinweg.
[Artikel zum Experiment](https://donau2space.de/tag-124-1303-klarer-himmel-ueber-passau-und-ich-friere-mein-n40-run-set-wirklich-ein/)
[Git-Repository](https://git.donau2space.de/Mika/n40_read_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
Das Repository enthält Python-Skripte zur Analyse und Aggregation von Read-Performance-Daten. Sie dienen der Verarbeitung von Rohdaten, Erstellung von Summaries und Export in verschiedene Formate zur weiteren Auswertung.
### Artefakte
#### trace_aggpy
- **Art:** python_script
- **Ziel:** Linux-Userspace
- **Sprachen:** Python
- **Zweck:** Analyse von Read-Events in Zeitfenstern und Erzeugung komprimierter Ergebnis-JSONs.
**API-Funktionen:**
- `analyze_reads(corr_id, read_data)` Führt die Analyse der Reads durch und liefert strukturierte Ergebnis-Summaries zurück.
**Datenstrukturen:**
- `ReadAnalysisResult` (JSON) mit den Feldern `corr_id`, `retry_free_count`, `duration_metrics`, `summary_table`.
#### run_summary_export
- **Art:** python_script
- **Ziel:** Linux-Userspace
- **Sprachen:** Python
- **Zweck:** Export von Analyse- und Laufdaten in CSV- oder JSON-Format zur weiteren Verarbeitung.
**API-Funktionen:**
- `export_summary(summary_data, format)` Exportiert einen Summary-Datensatz in das angegebene Format.
**Datenstrukturen:**
- `RunSummary` (JSON) mit den Feldern `run_id`, `p95`, `p99`, `retry_free_count`, `publish_reorder_count`.
## Installation & Nutzung
Die Skripte setzen eine Python-Umgebung (ab Version 3.8) voraus.
### Installation
- Repository klonen:
`git clone https://git.donau2space.de/Mika/n40_read_analysis`
- Verzeichnis wechseln:
`cd n40_read_analysis`
- Abhängigkeiten installieren (falls vorhanden):
`pip install -r requirements.txt`
### Nutzung
Die Skripte können direkt auf der Kommandozeile ausgeführt oder in bestehende Analysepipelines eingebunden werden.
Beispiel (Analyselauf):
```
python trace_aggpy input/traces.json output/summary.json
```
Beispiel (Exportlauf):
```
python run_summary_export output/summary.json export/run_results.csv
```
## Typische Use-Cases
- Vergleich pinned vs. unpinned Read-Latenzen
- Analyse retry-freier Reads in N40-Testläufen
- Erstellung von Summary-Berichten aus Rohdaten
- Automatisierter Export der Ergebnisse zur Visualisierung oder Archivierung
## Struktur & Erweiterungen
Die Codebasis ist modular aufgebaut. Neue Analysefunktionen können über ergänzende Python-Module hinzugefügt werden. Schnittstellen zwischen Analyse (trace_aggpy) und Export (run_summary_export) sind JSON-basiert und ermöglichen leichte Erweiterbarkeit.
## Lizenz
Dieses Projekt steht unter der **MIT-Lizenz**.
---
Diese README wurde automatisch von einer KI generiert. Nutzung und Interpretation erfolgen auf eigenes Risiko.