n40_time_measurement/readme.md
2026-01-22 12:57:26 +00:00

3.9 KiB
Raw Blame History

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/
Git Repository: 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. Python3.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.