|
Database System 0.1.0
Advanced C++20 Database System with Multi-Backend Support
|
Monitoring adapter for database operations. More...
#include <monitoring_adapter.h>

Public Member Functions | |
| monitoring_adapter (const db_monitoring_config &config, monitoring_backend_type backend_type=monitoring_backend_type::auto_select) | |
| Construct monitoring adapter with configuration. | |
| ~monitoring_adapter () | |
| Destructor - ensures graceful shutdown. | |
| monitoring_adapter (const monitoring_adapter &)=delete | |
| monitoring_adapter & | operator= (const monitoring_adapter &)=delete |
| monitoring_adapter (monitoring_adapter &&) noexcept | |
| monitoring_adapter & | operator= (monitoring_adapter &&)=delete |
| common::VoidResult | initialize () |
| Initialize monitoring system. | |
| common::VoidResult | shutdown () |
| Shutdown monitoring system. | |
| bool | is_initialized () const |
| Check if monitoring is initialized. | |
| common::VoidResult | record_metric (const std::string &name, double value) |
| Record a metric value. | |
| common::VoidResult | record_metric (const std::string &name, double value, const std::unordered_map< std::string, std::string > &tags) |
| Record a metric value with tags. | |
| common::Result< backends::metrics_snapshot > | get_metrics () |
| Get current metrics snapshot. | |
| common::Result< backends::health_check_result > | check_health () |
| Perform health check. | |
| common::VoidResult | reset () |
| Reset all metrics. | |
| void | record_query_execution (std::chrono::microseconds duration, bool success) |
| Record query execution. | |
| void | record_connection_acquired () |
| Record connection acquisition. | |
| void | record_connection_released () |
| Record connection release. | |
| void | update_pool_stats (std::size_t active, std::size_t idle, std::size_t total) |
| Update connection pool statistics. | |
| void | record_transaction_begin () |
| Record transaction begin. | |
| void | record_transaction_commit () |
| Record transaction commit. | |
| void | record_transaction_rollback () |
| Record transaction rollback. | |
| common::Result< database_metrics > | get_database_metrics () |
| Get database-specific metrics. | |
| std::string | export_prometheus_metrics () |
| Export metrics in Prometheus format. | |
Static Private Member Functions | |
| static std::unique_ptr< backends::monitoring_backend > | create_backend (const db_monitoring_config &config, monitoring_backend_type backend_type) |
| Create appropriate backend based on type. | |
Private Attributes | |
| const db_monitoring_config & | config_ |
| std::unique_ptr< backends::monitoring_backend > | backend_ |
| Monitoring backend implementation. | |
Monitoring adapter for database operations.
Provides comprehensive monitoring capabilities with runtime backend selection. No longer uses conditional compilation - backend is selected at runtime.
Features:
Thread Safety: Thread-safe with internal synchronization
Definition at line 156 of file monitoring_adapter.h.
|
explicit |
Construct monitoring adapter with configuration.
| config | Monitoring configuration |
| backend_type | Backend type to use (default: auto_select) |
Definition at line 63 of file monitoring_adapter.cpp.
| database::integrated::adapters::monitoring_adapter::~monitoring_adapter | ( | ) |
Destructor - ensures graceful shutdown.
Definition at line 71 of file monitoring_adapter.cpp.
References backend_.
|
delete |
|
defaultnoexcept |
| common::Result< backends::health_check_result > database::integrated::adapters::monitoring_adapter::check_health | ( | ) |
Perform health check.
Definition at line 146 of file monitoring_adapter.cpp.
References backend_.
Referenced by test_api_availability_health().

|
staticprivate |
Create appropriate backend based on type.
Definition at line 26 of file monitoring_adapter.cpp.
References database::integrated::adapters::auto_select, database::integrated::adapters::fallback, database::integrated::adapters::null, and database::integrated::adapters::system.
| std::string database::integrated::adapters::monitoring_adapter::export_prometheus_metrics | ( | ) |
Export metrics in Prometheus format.
Definition at line 239 of file monitoring_adapter.cpp.
References backend_.
Referenced by test_api_availability_prometheus().

| common::Result< database_metrics > database::integrated::adapters::monitoring_adapter::get_database_metrics | ( | ) |
Get database-specific metrics.
Definition at line 228 of file monitoring_adapter.cpp.
References backend_.
Referenced by test_api_availability_metrics().

| common::Result< backends::metrics_snapshot > database::integrated::adapters::monitoring_adapter::get_metrics | ( | ) |
Get current metrics snapshot.
Definition at line 135 of file monitoring_adapter.cpp.
References backend_.
Referenced by test_api_availability_metrics().

| common::VoidResult database::integrated::adapters::monitoring_adapter::initialize | ( | ) |
Initialize monitoring system.
Definition at line 81 of file monitoring_adapter.cpp.
References initialize().
Referenced by initialize().


| bool database::integrated::adapters::monitoring_adapter::is_initialized | ( | ) | const |
Check if monitoring is initialized.
Definition at line 102 of file monitoring_adapter.cpp.
References backend_.
|
delete |
|
delete |
| void database::integrated::adapters::monitoring_adapter::record_connection_acquired | ( | ) |
Record connection acquisition.
Definition at line 180 of file monitoring_adapter.cpp.
References backend_.
Referenced by test_api_availability_basic(), test_destructor_safety(), test_move_semantics(), and test_multiple_instances().

| void database::integrated::adapters::monitoring_adapter::record_connection_released | ( | ) |
Record connection release.
Definition at line 188 of file monitoring_adapter.cpp.
References backend_.
Referenced by test_api_availability_basic().

| common::VoidResult database::integrated::adapters::monitoring_adapter::record_metric | ( | const std::string & | name, |
| double | value ) |
Record a metric value.
| name | Metric name |
| value | Metric value |
Definition at line 111 of file monitoring_adapter.cpp.
References backend_.
| common::VoidResult database::integrated::adapters::monitoring_adapter::record_metric | ( | const std::string & | name, |
| double | value, | ||
| const std::unordered_map< std::string, std::string > & | tags ) |
Record a metric value with tags.
| name | Metric name |
| value | Metric value |
| tags | Metric tags/labels |
Definition at line 122 of file monitoring_adapter.cpp.
References backend_.
| void database::integrated::adapters::monitoring_adapter::record_query_execution | ( | std::chrono::microseconds | duration, |
| bool | success ) |
Record query execution.
| duration | Query execution duration |
| success | Whether query succeeded |
Definition at line 172 of file monitoring_adapter.cpp.
References backend_, and database::success.
Referenced by test_api_availability_basic().

| void database::integrated::adapters::monitoring_adapter::record_transaction_begin | ( | ) |
Record transaction begin.
Definition at line 204 of file monitoring_adapter.cpp.
References backend_.
Referenced by test_api_availability_basic().

| void database::integrated::adapters::monitoring_adapter::record_transaction_commit | ( | ) |
Record transaction commit.
Definition at line 212 of file monitoring_adapter.cpp.
References backend_.
Referenced by test_api_availability_basic().

| void database::integrated::adapters::monitoring_adapter::record_transaction_rollback | ( | ) |
Record transaction rollback.
Definition at line 220 of file monitoring_adapter.cpp.
References backend_.
Referenced by test_api_availability_basic().

| common::VoidResult database::integrated::adapters::monitoring_adapter::reset | ( | ) |
Reset all metrics.
Definition at line 157 of file monitoring_adapter.cpp.
References backend_.
Referenced by test_api_availability_reset().

| common::VoidResult database::integrated::adapters::monitoring_adapter::shutdown | ( | ) |
Shutdown monitoring system.
Definition at line 92 of file monitoring_adapter.cpp.
References backend_, and common::ok().

| void database::integrated::adapters::monitoring_adapter::update_pool_stats | ( | std::size_t | active, |
| std::size_t | idle, | ||
| std::size_t | total ) |
Update connection pool statistics.
| active | Number of active connections |
| idle | Number of idle connections |
| total | Total pool size |
Definition at line 196 of file monitoring_adapter.cpp.
References backend_.
Referenced by test_api_availability_basic().

|
private |
Monitoring backend implementation.
Definition at line 305 of file monitoring_adapter.h.
Referenced by check_health(), export_prometheus_metrics(), get_database_metrics(), get_metrics(), is_initialized(), record_connection_acquired(), record_connection_released(), record_metric(), record_metric(), record_query_execution(), record_transaction_begin(), record_transaction_commit(), record_transaction_rollback(), reset(), shutdown(), update_pool_stats(), and ~monitoring_adapter().
|
private |
Definition at line 304 of file monitoring_adapter.h.