Zentrale Performance-Überwachung und Visualisierung für ThemisDB Benchmarks.
- ✅ Zentrale Visualisierung - Grafana Dashboard mit historischen Trends
- ✅ Regression-Erkennung - Automatische Erkennung von Performance-Regressions
- ✅ CI/CD Integration - Automatische Performance-Checks in PRs
- ✅ Alerts & Monitoring - Konfigurierbare Schwellwerte und Benachrichtigungen
- ✅ Branch/Release Vergleich - Performance über Branches und Releases hinweg
- ✅ Hardware Comparison - Vergleich verschiedener Hardware-Konfigurationen
# 1. Start Dashboard Stack
cd grafana
docker-compose up -d
# 2. Access Dashboard
# Open http://localhost:3000 (admin/admin)
# 3. Run Benchmarks
cd ..
cmake -B build -DBUILD_BENCHMARKS=ON
cmake --build build
./build/bench_crud --benchmark_format=json --benchmark_out=results.json
# 4. Track Results
python3 benchmarks/performance_tracker.py \
--results results.json \
--storage benchmarks/performance_dataDashboard ist jetzt verfügbar mit Ihren Benchmark-Daten!
- Throughput Trends: CRUD, LLM, Vector Search Performance
- Latency Percentiles: P99/P95/P50 für alle Operationen
- Error Rates: Fehlerraten-Tracking
- Regressions: Critical, Major, Minor Regressions
- Performance-Regressions (>5%, >10%, >20%)
- Latenz-Schwellwerte (P99 > 100ms)
- Fehlerraten (>1%, >5%)
- Throughput unter Baseline
Sammelt und speichert Benchmark-Ergebnisse:
python3 benchmarks/performance_tracker.py \
--results <path> \
--storage benchmarks/performance_data \
--export-baseline benchmarks/baselines/main/latest.jsonVerwaltet Performance-Baselines:
# Baseline speichern
python3 benchmarks/baseline_manager.py save \
--results build/benchmark_results \
--branch main \
--version 1.4.1 \
--commit $(git rev-parse HEAD)
# Baselines auflisten
python3 benchmarks/baseline_manager.py listVergleicht Ergebnisse mit Baseline:
python3 benchmarks/performance_regression_detector.py \
--baseline benchmarks/baselines/main/latest.json \
--current build/results.json \
--fail-on major- Vollständige Dokumentation (DE)
- Quick Start Guide (EN)
- Example Charts & Interpretation
- Benchmark Best Practices
Bei jedem Pull Request:
- Benchmarks werden automatisch ausgeführt
- Ergebnisse mit Baseline verglichen
- PR-Kommentar mit Regression-Report
- PR blockiert bei Major/Critical Regressions
Bei Push zu main/develop oder Releases:
- Full Benchmark Suite läuft
- Neue Baseline wird erstellt
- Baseline committed und gepusht
- Artifacts für 90 Tage gespeichert
themisdb_benchmark_throughput_ops- Durchsatz in ops/secthemisdb_benchmark_latency_ms- Latenz-Percentilethemisdb_benchmark_error_rate- Fehlerratenthemisdb_regression_count- Anzahl Regressions nach Severityllm_tokens_generated_total- LLM Token Generationthemisdb_benchmark_vector_search_ops- Vector Search Performance
Alle Alert-Regeln in: grafana/alerts/performance_regression_alerts.yaml
| Severity | Threshold | Action |
|---|---|---|
| Minor | 5-10% Regression | ℹ️ Review empfohlen |
| Major | 10-20% Regression | |
| Critical | >20% Regression | ❌ PR-Block, sofortige Untersuchung |
50K │ ╭────────────╮
45K │ ╭────╯ ╰───╮
40K │───╯ ╰───
└─────────────────────────────
v1.3 v1.4.0 v1.4.1 HEAD
P99 │ *
P95 │ * *
P50 │ * * *
└──────────
Read Write Query
# Dashboard neu laden
cd grafana
docker-compose restart grafana# Alte Metriken löschen (>30 Tage)
find benchmarks/performance_data/raw -mtime +30 -delete# Baselines sichern
tar czf baselines-backup-$(date +%Y%m%d).tar.gz benchmarks/baselines/# 1. Prüfe Prometheus
curl http://localhost:9090/api/v1/targets
# 2. Prüfe Metriken
ls -la benchmarks/performance_data/metrics/
# 3. Neustart
cd grafana && docker-compose restart# Validiere Alert Rules
promtool check rules grafana/alerts/performance_regression_alerts.yaml
# Prüfe aktive Alerts
curl http://localhost:9090/api/v1/alerts- GitHub Issues: https://github.com/makr-code/ThemisDB/issues
- Label:
performanceoderdashboard - Performance Team: performance-team@themisdb.io
- Machine Learning Anomalie-Erkennung
- Automatische wöchentliche Performance-Reports
- GitHub Issues Integration (Auto-Create)
- A/B Testing zwischen Branches
- Mobile Dashboard App
- Kosten-Analyse (Performance vs. Ressourcen)
Status: ✅ Production Ready
Version: 1.0.0
Letzte Aktualisierung: 2026-02-02