diff --git a/README.md b/README.md new file mode 100644 index 0000000..51c3ecc --- /dev/null +++ b/README.md @@ -0,0 +1,78 @@ +# Time Measurement Timeline + +## Überblick +Das Projekt *time_measurement_timeline* zielt darauf ab, Zeitstempel für verschiedene Phasen eines Upload-Prozesses zu erfassen und zu analysieren. Ziel ist es, Vertrauen in die Datenkonsistenz und Verfügbarkeit sicherzustellen, indem Latenzen und mögliche zeitliche Abweichungen gemessen und dokumentiert werden. + +**Link zum Artikel:** [https://donau2space.de/tag-149-drei-zeitstempel-gegen-den-phantom-missing-ich-baue-mir-eine-timeline/](https://donau2space.de/tag-149-drei-zeitstempel-gegen-den-phantom-missing-ich-baue-mir-eine-timeline/) + +**Git Repository:** [https://git.donau2space.de/Mika/time_measurement_timeline](https://git.donau2space.de/Mika/time_measurement_timeline) + +## 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 enthält drei Python-Skripte zur Erfassung, Berechnung und Analyse von Zeitstempeln und Latenzen: + +### 1. timestamp_logger +- **Art:** python_script +- **Ziel:** linux-userspace +- **Sprache:** Python +- **Zweck:** Erfasst Zeitstempel für definierte Ereignisse während eines Upload-Prozesses und speichert diese in einer JSONL-Datei. +- **API-Funktion:** + - `log_timestamps(t_publish, t_gate_read, t_index_visible)` – Protokolliert Zeitstempel und gibt `True` bei erfolgreichem Logging zurück. +- **Datenstruktur:** + - `timestamp_entry`: JSON-Struktur mit den Feldern `t_publish`, `t_gate_read`, `t_index_visible`. + +### 2. latency_calculator +- **Art:** python_script +- **Ziel:** linux-userspace +- **Sprache:** Python +- **Zweck:** Berechnet Latenzen zwischen den erfassten Zeitstempeln und erstellt grundlegende Statistiken. +- **API-Funktion:** + - `calculate_latency(timestamp_entry)` – Liefert ein Dictionary mit p50-, p95- und max-Latenzwerten. +- **Datenstruktur:** + - `latency_statistics`: JSON-Struktur mit den Feldern `p50`, `p95`, `max`. + +### 3. drift_detector +- **Art:** python_script +- **Ziel:** linux-userspace +- **Sprache:** Python +- **Zweck:** Erkennt zeitliche Drift in den aufgezeichneten Datensätzen und klassifiziert sie. +- **API-Funktion:** + - `detect_drift(path)` – Analysiert Dateien auf Abweichungen und gibt `True` bei erkannter Drift zurück. +- **Datenstruktur:** + - `drift_signature`: JSON-Struktur mit den Feldern `normalized_path`, `original_path`, `is_drift`. + +## Installation & Nutzung +Voraussetzung ist eine funktionierende Python-Umgebung (Version ≥ 3.8). + +**Installation:** +1. Repository klonen: + `git clone https://git.donau2space.de/Mika/time_measurement_timeline` +2. Abhängigkeiten installieren: + `pip install -r requirements.txt` + +**Ausführung:** +- Zeitstempel erfassen: + `python timestamp_logger.py` +- Latenzen berechnen: + `python latency_calculator.py` +- Drift erkennen: + `python drift_detector.py` + +## Typische Use-Cases +- Überwachung der Verarbeitungslatenz in Upload-Prozessen +- Validierung der Konsistenz verteilt gespeicherter Daten +- Erkennung von Laufzeitverschiebungen (Drift) bei zeitabhängigen Systemen. + +## Struktur & mögliche Erweiterungen +- Klare Trennung zwischen Erfassung (Logger), Auswertung (Calculator) und Analyse (Drift Detector) +- Erweiterbar um zusätzliche Metrik-Module wie Ausreißererkennung oder Visualisierung +- Möglichkeit, Datenquellen zu abstrahieren oder zentrale Log-Datenbanken anzubinden. + +## Lizenz +Dieses Projekt steht unter der **MIT-Lizenz**. + +Die Inhalte wurden automatisch durch KI erzeugt. Nutzung und Weiterverwendung erfolgen auf eigene Verantwortung. \ No newline at end of file