|
Database System 0.1.0
Advanced C++20 Database System with Multi-Backend Support
|
Abstract base class for monitoring backends. More...
#include <monitoring_backend.h>


Public Member Functions | |
| virtual | ~monitoring_backend ()=default |
| virtual common::VoidResult | initialize ()=0 |
| Initialize the monitoring backend. | |
| virtual common::VoidResult | shutdown ()=0 |
| Shutdown the monitoring backend gracefully. | |
| virtual bool | is_initialized () const =0 |
| Check if backend is initialized. | |
| virtual common::VoidResult | record_metric (const std::string &name, double value)=0 |
| Record a metric value. | |
| 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::Result< metrics_snapshot > | get_metrics ()=0 |
| Get current metrics snapshot. | |
| virtual common::Result< health_check_result > | check_health ()=0 |
| Perform health check. | |
| virtual common::VoidResult | reset ()=0 |
| Reset all metrics. | |
| virtual void | record_query_execution (std::chrono::microseconds duration, bool success)=0 |
| Record query execution. | |
| virtual void | record_connection_acquired ()=0 |
| Record connection acquisition. | |
| virtual void | record_connection_released ()=0 |
| Record connection release. | |
| 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_transaction_begin ()=0 |
| Record transaction begin. | |
| virtual void | record_transaction_commit ()=0 |
| Record transaction commit. | |
| virtual void | record_transaction_rollback ()=0 |
| Record transaction rollback. | |
| virtual common::Result< database_metrics > | get_database_metrics ()=0 |
| Get database-specific metrics. | |
| virtual std::string | export_prometheus_metrics ()=0 |
| Export metrics in Prometheus format. | |
Abstract base class for monitoring backends.
All monitoring backends (system, fallback, null) must implement this interface. This enables runtime polymorphism and eliminates conditional compilation.
Definition at line 74 of file monitoring_backend.h.
|
virtualdefault |
|
pure virtual |
Perform health check.
Implemented in database::integrated::adapters::backends::fallback_monitoring_backend, database::integrated::adapters::backends::null_monitoring_backend, and database::integrated::adapters::backends::system_monitoring_backend.
|
pure virtual |
Export metrics in Prometheus format.
Implemented in database::integrated::adapters::backends::fallback_monitoring_backend, database::integrated::adapters::backends::null_monitoring_backend, and database::integrated::adapters::backends::system_monitoring_backend.
|
pure virtual |
Get database-specific metrics.
Implemented in database::integrated::adapters::backends::fallback_monitoring_backend, database::integrated::adapters::backends::null_monitoring_backend, and database::integrated::adapters::backends::system_monitoring_backend.
|
pure virtual |
Get current metrics snapshot.
Implemented in database::integrated::adapters::backends::fallback_monitoring_backend, database::integrated::adapters::backends::null_monitoring_backend, and database::integrated::adapters::backends::system_monitoring_backend.
|
pure virtual |
Initialize the monitoring backend.
Implemented in database::integrated::adapters::backends::fallback_monitoring_backend, database::integrated::adapters::backends::null_monitoring_backend, and database::integrated::adapters::backends::system_monitoring_backend.
|
pure virtual |
Check if backend is initialized.
Implemented in database::integrated::adapters::backends::fallback_monitoring_backend, database::integrated::adapters::backends::null_monitoring_backend, and database::integrated::adapters::backends::system_monitoring_backend.
|
pure virtual |
Record connection acquisition.
Implemented in database::integrated::adapters::backends::fallback_monitoring_backend, database::integrated::adapters::backends::null_monitoring_backend, and database::integrated::adapters::backends::system_monitoring_backend.
|
pure virtual |
Record connection release.
Implemented in database::integrated::adapters::backends::fallback_monitoring_backend, database::integrated::adapters::backends::null_monitoring_backend, and database::integrated::adapters::backends::system_monitoring_backend.
|
pure virtual |
Record a metric value.
| name | Metric name |
| value | Metric value |
Implemented in database::integrated::adapters::backends::fallback_monitoring_backend, database::integrated::adapters::backends::null_monitoring_backend, and database::integrated::adapters::backends::system_monitoring_backend.
|
pure virtual |
Record a metric value with tags.
| name | Metric name |
| value | Metric value |
| tags | Metric tags/labels |
Implemented in database::integrated::adapters::backends::fallback_monitoring_backend, database::integrated::adapters::backends::null_monitoring_backend, and database::integrated::adapters::backends::system_monitoring_backend.
|
pure virtual |
Record query execution.
| duration | Query execution duration |
| success | Whether query succeeded |
Implemented in database::integrated::adapters::backends::fallback_monitoring_backend, database::integrated::adapters::backends::null_monitoring_backend, and database::integrated::adapters::backends::system_monitoring_backend.
|
pure virtual |
|
pure virtual |
Record transaction commit.
Implemented in database::integrated::adapters::backends::fallback_monitoring_backend, database::integrated::adapters::backends::null_monitoring_backend, and database::integrated::adapters::backends::system_monitoring_backend.
|
pure virtual |
Record transaction rollback.
Implemented in database::integrated::adapters::backends::fallback_monitoring_backend, database::integrated::adapters::backends::null_monitoring_backend, and database::integrated::adapters::backends::system_monitoring_backend.
|
pure virtual |
Reset all metrics.
Implemented in database::integrated::adapters::backends::fallback_monitoring_backend, database::integrated::adapters::backends::null_monitoring_backend, and database::integrated::adapters::backends::system_monitoring_backend.
|
pure virtual |
Shutdown the monitoring backend gracefully.
Implemented in database::integrated::adapters::backends::fallback_monitoring_backend, database::integrated::adapters::backends::null_monitoring_backend, and database::integrated::adapters::backends::system_monitoring_backend.
|
pure virtual |
Update connection pool statistics.
| active | Number of active connections |
| idle | Number of idle connections |
| total | Total pool size |
Implemented in database::integrated::adapters::backends::fallback_monitoring_backend, database::integrated::adapters::backends::null_monitoring_backend, and database::integrated::adapters::backends::system_monitoring_backend.