Skip to content

Latest commit

 

History

History
82 lines (70 loc) · 3.48 KB

File metadata and controls

82 lines (70 loc) · 3.48 KB

ThemisDB Observability Module

Module Purpose

The observability module provides monitoring, metrics, tracing, profiling, alerting, and operational diagnostics infrastructure for ThemisDB.

Relevant Interfaces

Interface / File Role
metrics_collector.cpp metrics capture and export surfaces
alertmanager.cpp alertmanager integration and routing
alerting_engine.cpp rule-based alert evaluation and notifications
tracer.cpp trace/span lifecycle and propagation support
opentelemetry_tracer.cpp OpenTelemetry integration surfaces
continuous_profiler.cpp continuous profiling behavior
query_profiler.cpp query profiling instrumentation
storage_profiler.cpp storage profiling instrumentation
performance_analyzer.cpp performance diagnostics and recommendations
metrics_stream_server.cpp live metric streaming behavior
metric_aggregator.cpp metric aggregation/rollup semantics
advanced_metrics.cpp advanced metric primitive support
metric_anomaly_detector.cpp anomaly detection integration
ml_anomaly_detector.cpp model-driven anomaly detection support
distributed_flame_graph.cpp distributed flame graph processing
root_cause_analyzer.cpp root-cause analysis logic
log_aggregator.cpp structured log aggregation
log_search_engine.cpp structured log search/filter behavior
tenant_metrics_namespace.cpp tenant-scoped metrics namespacing
ebpf_tracer.cpp eBPF-based observability probes
slo_reporter.cpp SLO/SLA burn-rate reporting

Scope

In scope:

  • metrics/tracing/profiling/alerting runtime behavior
  • observability diagnostics and analysis surfaces
  • metrics export and stream/aggregation behavior

Out of scope:

  • external dashboard/alert backend ownership outside integration boundaries
  • non-observability business-domain logic
  • long-term storage ownership of external observability backends

Runtime Behavior and Limits

  • behavior depends on enabled observability components and runtime configuration.
  • unsupported integration paths degrade deterministically with explicit outcomes.
  • profiling/tracing/metrics behavior remains bounded by module-local controls.

Sourcecode Verification (Module: observability/readme)

  • Verified files:
    • src/observability/metrics_collector.cpp
    • src/observability/alertmanager.cpp
    • src/observability/alerting_engine.cpp
    • src/observability/tracer.cpp
    • src/observability/opentelemetry_tracer.cpp
    • src/observability/continuous_profiler.cpp
    • src/observability/query_profiler.cpp
    • src/observability/storage_profiler.cpp
    • src/observability/performance_analyzer.cpp
    • src/observability/metrics_stream_server.cpp
    • src/observability/metric_aggregator.cpp
    • src/observability/advanced_metrics.cpp
    • src/observability/metric_anomaly_detector.cpp
    • src/observability/ml_anomaly_detector.cpp
    • src/observability/distributed_flame_graph.cpp
    • src/observability/root_cause_analyzer.cpp
    • src/observability/log_aggregator.cpp
    • src/observability/log_search_engine.cpp
    • src/observability/tenant_metrics_namespace.cpp
    • src/observability/ebpf_tracer.cpp
    • src/observability/slo_reporter.cpp
  • Verified behavior surfaces:
    • metrics, tracing, profiling, alerting, and diagnostics paths
  • Note:
    • forward planning is tracked in ROADMAP.md and FUTURE_ENHANCEMENTS.md
    • historical entries remain in CHANGELOG.md