batch_latency_measurement/README.md
2026-02-15 11:41:31 +00:00

99 lines
No EOL
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.

# Batch Latency Measurement
## Überblick
Das Projekt **batch_latency_measurement** untersucht die Latenzzeiten verschiedener Zeitpunkte während eines Upload-Prozesses. Ziel ist es, eine präzise Definition für den Zeitpunkt *t_publish* zu entwickeln. Dabei werden Messungen zu Upload-Ende, API-Response und Filesystem-Änderungszeiten analysiert.
[Artikel mit Hintergrundinformationen](https://donau2space.de/tag-150-schnee-drei-t_publish-kandidaten-und-warum-meine-latenzkurve-wackelt/)
[Git Repository](https://git.donau2space.de/Mika/batch_latency_measurement)
### 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
### Artefakte
**1. measure_latency**
Art: python_script
Zielumgebung: linux-userspace
Sprache: Python
**Zweck:** Misst und analysiert Latenzzeiten zwischen verschiedenen Zeitpunkten eines Upload-Prozesses (Upload-Ende, API-Response, FS-mtime).
**API-Funktionen:**
- `measure_latencies(n_runs)` Führt mehrere Messungen aus und liefert ein JSON-Objekt *latency_results*.
- `analyze_results(latency_results)` Analysiert die Messergebnisse und erzeugt eine Statistik *analysis_summary*.
**Datenstrukturen:**
- `latency_results` (Format: JSON) enthält *upload_end_time*, *api_response_time*, *fs_mtime* und *offsets*.
**2. generate_report**
Art: python_script
Zielumgebung: linux-userspace
Sprache: Python
**Zweck:** Erstellt einen Bericht auf Basis der Messdaten und Analyseergebnisse.
**API-Funktion:**
- `create_report(latency_results, analysis_summary)` Generiert ein strukturiertes Ausgabedokument *report_document*.
**3. log_data**
Art: csv_dataset
Zielumgebung: linux-userspace
Sprache: CSV
**Zweck:** Enthält die gemessenen Rohdaten zur späteren Analyse und Reproduzierbarkeit der Messungen.
---
## Installation & Nutzung
### Voraussetzungen
- Linux-System mit Python ≥ 3.8
- Schreibrechte im Arbeitsverzeichnis zur Datenerfassung
### Installation
1. Repository klonen:
`git clone https://git.donau2space.de/Mika/batch_latency_measurement`
2. Projektverzeichnis aufrufen:
`cd batch_latency_measurement`
3. Abhängigkeiten installieren:
`pip install -r requirements.txt`
### Ausführung
- Latenz messen:
`python measure_latency.py`
- Messergebnisse analysieren und Bericht erzeugen:
`python generate_report.py`
---
## Typische Use-Cases
- Vergleich verschiedener Upload-Pipeline-Konfigurationen
- Ermittlung des stabilsten Messpunkts zur Definition von *t_publish*
- Analyse von Verzögerungen zwischen Dateisystem und API-Antwort
- Automatisierte Auswertung und Berichterstellung für Performance-Monitoring
---
## Struktur & mögliche Erweiterungen
Das Projekt ist modular aufgebaut. Erweiterungen können erfolgen durch:
- Ergänzung weiterer Messpunkte (z.B. Datenbank-Write-Zeitpunkte)
- Anpassung des Reporting-Moduls zur Erzeugung von Diagrammen oder Dashboards
- Hinzufügen von Schnittstellen zur laufenden Prozessüberwachung
Verzeichnisstruktur (empfohlen):
- `measure_latency.py` Messlogik
- `generate_report.py` Berichtserzeugung
- `log_data/` Datenspeicher (CSV)
- `docs/` technische Dokumentation und Auswertung
---
## Lizenz
Dieses Projekt steht unter der **MIT-Lizenz**.
Alle Inhalte wurden automatisch von einer KI generiert. Die Nutzung erfolgt auf eigenes Risiko.