|
Database System 0.1.0
Advanced C++20 Database System with Multi-Backend Support
|
Performance metrics for connection pools. More...
#include <pool_metrics.h>

Public Member Functions | |
| void | record_acquisition (uint64_t wait_time_us, bool success) |
| Record a connection acquisition. | |
| void | record_timeout () |
| Record a timeout event. | |
| void | update_active (int delta) |
| Update current active connection count. | |
| void | update_queued (int delta) |
| Update current queued request count. | |
| void | record_health_check (uint64_t removed_connections=0) |
| Record a health check operation. | |
| double | average_wait_time_us () const |
| Calculate average wait time. | |
| double | success_rate () const |
| Calculate success rate. | |
| void | reset () |
| Reset all metrics. | |
Public Attributes | |
| std::atomic< uint64_t > | total_acquisitions {0} |
| std::atomic< uint64_t > | successful_acquisitions {0} |
| std::atomic< uint64_t > | failed_acquisitions {0} |
| std::atomic< uint64_t > | timeouts {0} |
| std::atomic< uint64_t > | total_wait_time_us {0} |
| std::atomic< uint64_t > | min_wait_time_us {UINT64_MAX} |
| std::atomic< uint64_t > | max_wait_time_us {0} |
| std::atomic< uint64_t > | current_active {0} |
| std::atomic< uint64_t > | current_queued {0} |
| std::atomic< uint64_t > | peak_active {0} |
| std::atomic< uint64_t > | peak_queued {0} |
| std::atomic< uint64_t > | health_checks_performed {0} |
| std::atomic< uint64_t > | unhealthy_connections_removed {0} |
Performance metrics for connection pools.
Tracks key performance indicators for database connection management:
Definition at line 25 of file pool_metrics.h.
|
inline |
Calculate average wait time.
Definition at line 126 of file pool_metrics.h.
References total_acquisitions, and total_wait_time_us.
|
inline |
Record a connection acquisition.
| wait_time_us | Wait time in microseconds |
| success | Whether acquisition was successful |
Definition at line 52 of file pool_metrics.h.
References failed_acquisitions, max_wait_time_us, min_wait_time_us, database::success, successful_acquisitions, total_acquisitions, and total_wait_time_us.
|
inline |
Record a health check operation.
| removed_connections | Number of unhealthy connections removed |
Definition at line 115 of file pool_metrics.h.
References health_checks_performed, and unhealthy_connections_removed.
|
inline |
Record a timeout event.
Definition at line 79 of file pool_metrics.h.
References timeouts.
|
inline |
Reset all metrics.
Definition at line 149 of file pool_metrics.h.
References current_active, current_queued, failed_acquisitions, health_checks_performed, max_wait_time_us, min_wait_time_us, peak_active, peak_queued, successful_acquisitions, timeouts, total_acquisitions, total_wait_time_us, and unhealthy_connections_removed.
|
inline |
Calculate success rate.
Definition at line 138 of file pool_metrics.h.
References successful_acquisitions, and total_acquisitions.
|
inline |
Update current active connection count.
| delta | Change in active connections (+1 for acquire, -1 for release) |
Definition at line 87 of file pool_metrics.h.
References current_active, and peak_active.
|
inline |
Update current queued request count.
| delta | Change in queued requests |
Definition at line 101 of file pool_metrics.h.
References current_queued, and peak_queued.
| std::atomic<uint64_t> database::monitoring::pool_metrics::current_active {0} |
| std::atomic<uint64_t> database::monitoring::pool_metrics::current_queued {0} |
| std::atomic<uint64_t> database::monitoring::pool_metrics::failed_acquisitions {0} |
Definition at line 29 of file pool_metrics.h.
Referenced by record_acquisition(), and reset().
| std::atomic<uint64_t> database::monitoring::pool_metrics::health_checks_performed {0} |
Definition at line 44 of file pool_metrics.h.
Referenced by record_health_check(), and reset().
| std::atomic<uint64_t> database::monitoring::pool_metrics::max_wait_time_us {0} |
Definition at line 35 of file pool_metrics.h.
Referenced by record_acquisition(), and reset().
| std::atomic<uint64_t> database::monitoring::pool_metrics::min_wait_time_us {UINT64_MAX} |
Definition at line 34 of file pool_metrics.h.
Referenced by record_acquisition(), and reset().
| std::atomic<uint64_t> database::monitoring::pool_metrics::peak_active {0} |
| std::atomic<uint64_t> database::monitoring::pool_metrics::peak_queued {0} |
| std::atomic<uint64_t> database::monitoring::pool_metrics::successful_acquisitions {0} |
Definition at line 28 of file pool_metrics.h.
Referenced by record_acquisition(), reset(), and success_rate().
| std::atomic<uint64_t> database::monitoring::pool_metrics::timeouts {0} |
| std::atomic<uint64_t> database::monitoring::pool_metrics::total_acquisitions {0} |
Definition at line 27 of file pool_metrics.h.
Referenced by average_wait_time_us(), record_acquisition(), reset(), and success_rate().
| std::atomic<uint64_t> database::monitoring::pool_metrics::total_wait_time_us {0} |
Definition at line 33 of file pool_metrics.h.
Referenced by average_wait_time_us(), record_acquisition(), and reset().
| std::atomic<uint64_t> database::monitoring::pool_metrics::unhealthy_connections_removed {0} |
Definition at line 45 of file pool_metrics.h.
Referenced by record_health_check(), and reset().