publish_timing_analysis/README.md
2026-01-16 11:19:00 +00:00

80 lines
No EOL
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

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.

# publish_timing_analysis
## Überblick
Dieses Repository dokumentiert das Experiment **publish_timing_analysis**, das die Analyse von Publish-Timelines untersucht. Der Fokus liegt auf der Instrumentation von Write-Events und der Untersuchung der Auswirkungen von zeitlichen Faktoren auf die Systemleistung.
**Artikel:** [https://donau2space.de/tag-120-1211-nebel-ueber-der-donau-und-ich-mache-die-publish-timeline-endlich-vollstaendig/](https://donau2space.de/tag-120-1211-nebel-ueber-der-donau-und-ich-mache-die-publish-timeline-endlich-vollstaendig/)
**Git Repository:** [https://git.donau2space.de/Mika/publish_timing_analysis](https://git.donau2space.de/Mika/publish_timing_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
### Artefakt 1: 1_write_events
- **Art:** Python-Skript (`python_script`)
- **Ziel:** Linux Userspace
- **Sprache:** Python
- **Zweck:** Erfassung und Protokollierung von Write-Events der Variablen *base_raw* und *nsec_base*.
**API-Funktion:**
- `record_write_event(field_tag, new_value_hash, corr_id)` zeichnet ein einzelnes Write-Event für ein spezifisches Feld auf.
---
### Artefakt 2: 2_trace_agg
- **Art:** Python-Skript (`python_script`)
- **Ziel:** Linux Userspace
- **Sprache:** Python
- **Zweck:** Aggregation und Analyse von Trace-Daten. Erzeugt strukturierte Schrittfolgen pro *corr_id*.
**API-Funktion:**
- `aggregate_trace_data(trace_data)` aggregiert Trace-Einträge zu einem konsistenten, korrelationsbasierten Ablaufmodell.
**Datenstruktur:**
- `TraceEvent`: enthält `corr_id`, `step_sequence`, `timestamp`.
---
### Artefakt 3: 3_experiment_design
- **Art:** Dokumentation (`doc_only`)
- **Ziel:** Mixed
- **Zweck:** Beschreibung des A/B-Designs zur Untersuchung der Unterschiede zwischen pinned und unpinned Publish-Bedingungen.
## Installation & Nutzung
### Voraussetzungen
- Python ≥ 3.8
- Zugriff auf eine Linux-Umgebung mit Schreibrechten im Userspace
### Installation
```bash
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```
### Nutzung
Führe die Skripte in folgender Reihenfolge aus:
1. `python 1_write_events.py` Startet das Logging der Write-Events.
2. `python 2_trace_agg.py` Führt die Aggregationsanalyse über die gesammelten Trace-Daten aus.
## Typische Use-Cases
- Überwachung und Analyse von Publish-Event-Timelines.
- Vergleich von Systemlatenzen bei unterschiedlichen Publish-Strategien.
- Ermittlung systematischer Verzögerungen in Messketten.
## Struktur & Erweiterbarkeit
Das Repository ist modular aufgebaut:
- **Erfassungsmodul**: Verarbeitung von Write-Events.
- **Analysemodul**: Zusammenführung und Auswertung von Trace-Daten.
- **Dokumentation**: Referenzdesign und Versuchsanordnung.
Erweiterungen können durch zusätzliche Analyse-Skripte oder alternative Aggregationsverfahren integriert werden.
## Lizenz
Dieses Projekt steht unter der **MIT-Lizenz**.
Alle Inhalte wurden automatisiert durch KI generiert. Nutzung und Weiterentwicklung erfolgen auf eigenes Risiko.