Skip to content

Latest commit

 

History

History
126 lines (92 loc) · 3.71 KB

File metadata and controls

126 lines (92 loc) · 3.71 KB

Observability & Analytics Module

Stand: 6. April 2026 Version: v1.1 Kategorie: 🔍 Observability


📑 Inhaltsverzeichnis

Übersicht

Das Observability-Modul bietet umfassende Überwachungs- und Analysefunktionen für ThemisDB, einschließlich:

  • Metrics Collection und Export
  • Health Checks und Liveness Probes
  • Alerting und Alert Management
  • OLAP und Complex Event Processing (CEP)
  • Distributed Tracing

GAP-008: Neue Observability Features

Version: v1.4.1-dev
Status: ✅ Base Structure Implementiert

Alertmanager Integration (Stub)

Alert-Management-Interface für Prometheus Alertmanager:

  • Alert-Erstellung und -Verwaltung
  • Severity Levels (INFO, WARNING, ERROR, CRITICAL)
  • Alert Status Tracking (FIRING, RESOLVED, SILENCED)

Siehe: GAP-008 Dokumentation

Bestehende Health Check Systeme

ThemisDB verfügt bereits über umfassende Health Check Systeme:

  1. sharding::HealthCheckSystem - Shard/Cluster Gesundheitsüberwachung
  2. sharding::HealthMonitor - Node Health mit Auto-Failover
  3. server::HealthErrorService - HTTP Health Endpoint (Port 9090)

Keine Duplikate - GAP-008 nutzt diese bestehenden Systeme.


Analytics Module

Das Analytics-Modul bietet erweiterte OLAP-Funktionen (Online Analytical Processing) und Complex Event Processing (CEP) für ThemisDB.

Source-Code Referenz

Komponente Header Source LOC
OLAP Engine include/analytics/olap.h src/analytics/olap.cpp ~2,000
CEP Engine include/analytics/cep.h src/analytics/cep.cpp ~1,700

Implementierte Klassen

OLAPEngine

Die OLAP Engine unterstützt:

Aggregationsfunktionen:

  • COUNT, SUM, AVG, MIN, MAX
  • STDDEV, VARIANCE, MEDIAN
  • PERCENTILE, COUNT_DISTINCT
  • FIRST, LAST

Grouping Operators:

  • CUBE - Alle Kombinationen von Dimensionen
  • ROLLUP - Hierarchische Aggregation
  • GROUPING SETS - Benutzerdefinierte Gruppierungen

Filter Operators:

  • Eq, Ne, Lt, Le, Gt, Ge, In, Between, Like, IsNull

ColumnarStore

Vektorisierte spaltenbasierte Speicherung für analytische Workloads:

  • Apache Arrow Integration
  • SIMD-optimierte Scans
  • Batch-Verarbeitung

CEPEngine (Complex Event Processing)

Echtzeit-Streaming-Analytics mit:

  • Event Pattern Language (EPL)
  • Pattern Matching (Sequence, Any, All)
  • Window Operations (Tumbling, Sliding, Session)
  • Event Correlation

API Beispiele

OLAP Query

OLAPQuery query;
query.dimensions = {{"region", ""}, {"product", ""}};
query.measures = {{"revenue", "amount", Measure::Function::Sum}};
query.grouping_mode = GroupingMode::Cube;

auto results = olap_engine->execute(query);

CEP Pattern

cep_engine->registerPattern("high_value_sequence", R"(
    SELECT * FROM orders
    MATCH_RECOGNIZE (
        PARTITION BY customer_id
        MEASURES A.amount as first_amount, B.amount as second_amount
        PATTERN (A B)
        DEFINE A AS amount > 1000, B AS amount > 1000
    )
)");

Verwandte Dokumentation