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