31 class performance_monitor;
32 struct metrics_snapshot;
76 const std::string& name,
double value,
77 const std::unordered_map<std::string, std::string>& tags)
override;
86 void update_pool_stats(std::size_t active, std::size_t idle, std::size_t total)
override;
99 const kcenon::monitoring::metrics_snapshot& snapshot);
112 std::unique_ptr<kcenon::monitoring::performance_monitor>
monitor_;
Abstract base class for monitoring backends.
Monitoring backend using monitoring_system library.
bool is_initialized() const override
Check if backend is initialized.
std::size_t total_connections_
common::VoidResult initialize() override
Initialize the monitoring backend.
common::Result< health_check_result > check_health() override
Perform health check.
const db_monitoring_config & config_
void record_connection_released() override
Record connection release.
std::vector< std::chrono::microseconds > recent_query_latencies_
void update_pool_stats(std::size_t active, std::size_t idle, std::size_t total) override
Update connection pool statistics.
system_monitoring_backend(system_monitoring_backend &&)=delete
std::string export_prometheus_metrics() override
Export metrics in Prometheus format.
std::chrono::steady_clock::time_point start_time_
std::unique_ptr< kcenon::monitoring::performance_monitor > monitor_
void record_query_execution(std::chrono::microseconds duration, bool success) override
Record query execution.
void record_transaction_commit() override
Record transaction commit.
std::size_t idle_connections_
system_monitoring_backend & operator=(system_monitoring_backend &&)=delete
system_monitoring_backend(const db_monitoring_config &config)
Construct system monitoring backend.
common::VoidResult record_metric(const std::string &name, double value) override
Record a metric value.
database_metrics convert_to_database_metrics(const kcenon::monitoring::metrics_snapshot &snapshot)
Convert monitoring_system metrics to database_metrics format.
database_metrics current_metrics_
std::size_t active_connections_
common::Result< database_metrics > get_database_metrics() override
Get database-specific metrics.
std::size_t max_latency_samples_
void record_connection_acquired() override
Record connection acquisition.
system_monitoring_backend(const system_monitoring_backend &)=delete
void record_transaction_begin() override
Record transaction begin.
void record_transaction_rollback() override
Record transaction rollback.
common::Result< metrics_snapshot > get_metrics() override
Get current metrics snapshot.
common::VoidResult shutdown() override
Shutdown the monitoring backend gracefully.
void calculate_derived_metrics()
Calculate derived metrics from collected data.
system_monitoring_backend & operator=(const system_monitoring_backend &)=delete
common::VoidResult reset() override
Reset all metrics.
~system_monitoring_backend() override
std::size_t active_transactions_
Database monitoring adapter with runtime backend selection.
Abstract interface for monitoring backends.
Database-specific metrics structure.
Monitoring and metrics configuration.