# 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.