batch_2_analysis/README.md
2026-02-16 15:27:13 +00:00

84 lines
No EOL
4 KiB
Markdown

# Batch 2 Analysis
## Überblick
Dieses Projekt („**batch_2_analysis**“) untersucht die Performance zweier Speicherstrukturen innerhalb einer Datentransformations-Pipeline. Der Schwerpunkt liegt auf der Analyse der p99-Kante sowie der Identifikation und Bewertung von Ausreißern in Messdaten. Ziel ist es, Unterschiede im Verhalten von „pinned“ und „unpinned“ Datenpfaden zu quantifizieren und statistisch auszuwerten.
**Artikel:** [https://donau2space.de/tag-151-batch-2-ist-durch-10x-pinned-10x-unpinned-und-die-p99-kante-wird-sichtbar/](https://donau2space.de/tag-151-batch-2-ist-durch-10x-pinned-10x-unpinned-und-die-p99-kante-wird-sichtbar/)
**Repository:** [https://git.donau2space.de/Mika/batch_2_analysis](https://git.donau2space.de/Mika/batch_2_analysis)
### 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 Hauptkomponenten zur Datenverarbeitung, Simulation und Analyse:
### 1. mess_log_processing
- **Art:** Python-Skript
- **Ziel:** Linux Userspace
- **Sprache:** Python
- **Zweck:** Verarbeitung von Messdaten aus JSON- und CSV-Dateien, Erstellung aggregierter Statistiken als Grundlage für weitere Analyse.
- **API-Funktionen:**
- `process_logs(json_file, csv_file)` → Liefert ein DataFrame mit aggregierten Statistiken.
- **Datenstruktur:** `LogData` (JSON) mit Feldern: `t_publish`, `t_gate_read`, `t_index_visible`, `pinned_flag`, `timeouts`, `drift_signature`.
### 2. policy_evaluation
- **Art:** Python-Skript
- **Ziel:** Linux Userspace
- **Sprache:** Python
- **Zweck:** Simulation und Evaluierung verschiedener Speicherrichtlinien über die verarbeiteten Logdaten.
- **API-Funktionen:**
- `evaluate_policies(log_data)` → Führt die Evaluierung durch und gibt die Ergebnisse zurück.
- **Datenstruktur:** `PolicyResults` (JSON) mit Feldern: `p99_coverage`, `remaining_missing_cases`, `conversion_rates`, `max_wait_time`.
### 3. statistical_analysis
- **Art:** Python-Skript
- **Ziel:** Linux Userspace
- **Sprache:** Python
- **Zweck:** Statistische Analyse der p99-Region und Ausreißer basierend auf den verarbeiteten Logdaten.
- **API-Funktionen:**
- `analyze_outliers(log_data)` → Bestimmt Ausreißer und liefert eine strukturierte Analyse.
- **Datenstruktur:** `OutlierAnalysis` (JSON) mit Feldern: `column_name`, `outlier_value`, `drift_signature`, `timeout_counts`.
## Installation & Nutzung
### Voraussetzungen
- Linux-System mit Python ≥ 3.8
- Python-Pakete: pandas, numpy, scipy
### Installation
```
git clone https://git.donau2space.de/Mika/batch_2_analysis.git
cd batch_2_analysis
pip install -r requirements.txt
```
### Nutzung
```
python mess_log_processing.py input.json input.csv
python policy_evaluation.py processed_data.json
python statistical_analysis.py policy_results.json
```
Die Skripte sind sequenziell anwendbar: Ergebnisse aus den vorangehenden Schritten dienen als Eingabe für die folgende Analyse.
## Typische Use-Cases
- Vergleich von p99-Latenz zwischen pinned und unpinned Speicherpfaden
- Quantifizierung von Drift und Timeout-Anomalien
- Bewertung von Speicherstrategien im Hinblick auf Ausreißerhäufigkeit und -verteilung
- Erstellung reproduzierbarer Auswertungen von Performance-Daten aus JSON/CSV-Sammlungen
## Struktur & Erweiterbarkeit
Die Struktur ist modular aufgebaut:
- `mess_log_processing` → Datenerfassung & Vorverarbeitung
- `policy_evaluation` → Logik- und Richtlinienanalyse
- `statistical_analysis` → Statistische Weiterverarbeitung und Ergebnisaufbereitung
Erweiterungen können durch Hinzufügen neuer Analysefunktionen oder alternative Evaluationsstrategien erfolgen. Die bestehenden APIs liefern klar definierte Eingangs- und Rückgabeformate.
## Lizenz
MIT-Lizenz.
Alle Inhalte wurden automatisch generiert. Benutzung und Weiterentwicklung erfolgen auf eigenes Risiko.