From 3ef01ebc20dd4fc1ecf2d1d97eaf4aed60d73028 Mon Sep 17 00:00:00 2001 From: Mika Date: Thu, 22 Jan 2026 11:58:40 +0000 Subject: [PATCH] Add readme_md --- readme_md | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 readme_md diff --git a/readme_md b/readme_md new file mode 100644 index 0000000..e5375e5 --- /dev/null +++ b/readme_md @@ -0,0 +1,91 @@ +## n40_time_measurement – Experiment zur präzisen Zeitmessung + +### Überblick +Dieses Repository dokumentiert das Experiment **n40_time_measurement**. Ziel ist die präzise Messung und Aggregation von Kernel-Ereignissen mit Schwerpunkt auf Stabilität und Verlässlichkeit der ermittelten Metriken. + +**Link zum Artikel:** [https://donau2space.de/tag-126-1251-wolkig-ueber-passau-und-mein-n40-bekommt-heute-drei-neue-harte-punkte/](https://donau2space.de/tag-126-1251-wolkig-ueber-passau-und-mein-n40-bekommt-heute-drei-neue-harte-punkte/) +**Git Repository:** [https://git.donau2space.de/Mika/n40_time_measurement](https://git.donau2space.de/Mika/n40_time_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 + +#### 1. clocksource_switch_analysis +- **Art:** python_script +- **Zielumgebung:** Linux Userspace +- **Sprachen:** Python +- **Zweck:** Analyse und Aggregation von 'clocksource_switch'-Ereignissen aus Rohdaten. +- **API-Funktion:** + - **aggregate_clocksource_data(raw_data)** → Gibt `aggregated_data` zurück. +- **Datenstruktur:** `aggregated_data` (JSON) mit Feldern: + - mean + - p50 + - p95 + - p99 + - retry_free_rate + +#### 2. sanity_check_tool +- **Art:** python_script +- **Zielumgebung:** Linux Userspace +- **Sprachen:** Python +- **Zweck:** Durchführung von Sanity-Checks auf den gemessenen Ereignissen. +- **API-Funktion:** + - **perform_sanity_check(run_summary)** → Gibt `sanity_results` zurück. +- **Datenstruktur:** `sanity_results` (JSON) mit Feldern: + - missing_write_pairs + - broken_corr_ids + - empty_fields + +#### 3. results_visualization +- **Art:** web_ui +- **Zielumgebung:** Web +- **Sprachen:** HTML, CSS, JavaScript +- **Zweck:** Webbasierte Visualisierung der aggregierten Ergebnisse. +- **Routen:** + - **GET /results** – Lädt die aggregierten Ergebnisse zur Anzeige. +- **CSS-Komponenten:** chart-style +- **JavaScript-Module:** chart-library + +### Voraussetzungen (Webserver/DB) +- Installierter Webserver (z. B. Nginx oder Apache) +- Unterstützung für statische HTML-, CSS- und JS-Dateien +- Optional: Backend-Endpunkt zur Bereitstellung der aggregierten JSON-Ergebnisse + +### Starten der Anwendung +1. Webserver starten und `results_visualization`-Verzeichnis bereitstellen. +2. Browser öffnen und auf `/results` zugreifen, um die visuellen Darstellungen zu laden. + +### Installation & Nutzung +Da mehrere Python-Komponenten vorhanden sind, sollte eine saubere virtuelle Umgebung genutzt werden: + +1. Python ≥ 3.8 installieren. +2. Virtuelle Umgebung einrichten: + `python3 -m venv venv && source venv/bin/activate` +3. Abhängigkeiten installieren: + `pip install -r requirements.txt` +4. Analyseskript ausführen: + `python clocksource_switch_analysis.py input_data.json` +5. Sanity-Check durchführen: + `python sanity_check_tool.py aggregated_data.json` + +### Typische Use-Cases +- Untersuchung der Stabilität von Clocksource-Mechanismen. +- Validierung von Kernel-Ereignisdaten mittels Sanity-Checks. +- Visualisierung und Vergleich mehrerer Messläufe. +- Entwicklung weiterführender Analysemetriken auf Basis strukturierter Aggregationsdaten. + +### Struktur & Erweiterbarkeit +- **Analyse:** Kernlogik in `clocksource_switch_analysis`. +- **Validierung:** Separate Prüfung der Datenintegrität über `sanity_check_tool`. +- **Präsentation:** Webbasierte Darstellung in `results_visualization`. + +Zukünftige Erweiterungen können zusätzliche Eventtypen oder neue Visualisierungsoptionen integrieren. + +### Lizenz +Dieses Repository steht unter der **MIT-Lizenz**. Nutzung und Weiterverbreitung sind unter Einhaltung der Lizenzbedingungen gestattet. + +--- +Automatisch generierte technische Dokumentation ohne Gewähr. \ No newline at end of file