3.9 KiB
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_datazurück.
- aggregate_clocksource_data(raw_data) → Gibt
- 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_resultszurück.
- perform_sanity_check(run_summary) → Gibt
- 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
- Webserver starten und
results_visualization-Verzeichnis bereitstellen. - Browser öffnen und auf
/resultszugreifen, um die visuellen Darstellungen zu laden.
Installation & Nutzung
Da mehrere Python-Komponenten vorhanden sind, sollte eine saubere virtuelle Umgebung genutzt werden:
- Python ≥ 3.8 installieren.
- Virtuelle Umgebung einrichten:
python3 -m venv venv && source venv/bin/activate - Abhängigkeiten installieren:
pip install -r requirements.txt - Analyseskript ausführen:
python clocksource_switch_analysis.py input_data.json - 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.