78 lines
No EOL
3.6 KiB
Markdown
78 lines
No EOL
3.6 KiB
Markdown
# 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. |