21#include <unordered_map>
31struct database_metrics;
41 std::unordered_map<std::string, double>
gauges;
42 std::unordered_map<std::string, uint64_t>
counters;
64 std::unordered_map<std::string, std::string>
metadata;
113 const std::string& name,
double value,
114 const std::unordered_map<std::string, std::string>& tags) = 0;
Abstract base class for monitoring backends.
virtual std::string export_prometheus_metrics()=0
Export metrics in Prometheus format.
virtual ~monitoring_backend()=default
virtual void record_transaction_commit()=0
Record transaction commit.
virtual bool is_initialized() const =0
Check if backend is initialized.
virtual common::VoidResult reset()=0
Reset all metrics.
virtual void record_transaction_begin()=0
Record transaction begin.
virtual void update_pool_stats(std::size_t active, std::size_t idle, std::size_t total)=0
Update connection pool statistics.
virtual void record_connection_acquired()=0
Record connection acquisition.
virtual void record_query_execution(std::chrono::microseconds duration, bool success)=0
Record query execution.
virtual common::VoidResult record_metric(const std::string &name, double value, const std::unordered_map< std::string, std::string > &tags)=0
Record a metric value with tags.
virtual common::VoidResult initialize()=0
Initialize the monitoring backend.
virtual common::Result< health_check_result > check_health()=0
Perform health check.
virtual void record_transaction_rollback()=0
Record transaction rollback.
virtual common::Result< database_metrics > get_database_metrics()=0
Get database-specific metrics.
virtual void record_connection_released()=0
Record connection release.
virtual common::VoidResult shutdown()=0
Shutdown the monitoring backend gracefully.
virtual common::Result< metrics_snapshot > get_metrics()=0
Get current metrics snapshot.
virtual common::VoidResult record_metric(const std::string &name, double value)=0
Record a metric value.
Common Result<T> pattern for integrated database system.
Unified configuration for integrated database system.
health_status
Health status enumeration.
Health check result structure.
std::unordered_map< std::string, std::string > metadata
Simple metrics snapshot structure.
std::unordered_map< std::string, uint64_t > counters
std::unordered_map< std::string, double > gauges