28#define TEST(name) void test_##name()
29#define RUN_TEST(name) \
31 std::cout << "Running test: " << #name << " ... "; \
34 std::cout << "PASSED\n"; \
36 } catch (const std::exception& e) { \
37 std::cout << "FAILED: " << e.what() << "\n"; \
42#define ASSERT_TRUE(condition) \
44 throw std::runtime_error("Assertion failed: " #condition); \
47#define ASSERT_FALSE(condition) ASSERT_TRUE(!(condition))
54TEST(configuration_construction) {
68TEST(adapter_construction) {
80TEST(api_availability_basic) {
99TEST(api_availability_metrics) {
109 auto metrics_snapshot_result = monitor.
get_metrics();
126TEST(api_availability_prometheus) {
200 std::cout <<
"=== Monitoring Adapter API Tests (Phase 3) ===\n";
201 std::cout <<
"Note: These tests verify API availability only.\n";
202 std::cout <<
"For full integration testing, run integration test suite.\n\n";
204 RUN_TEST(configuration_construction);
209 RUN_TEST(api_availability_prometheus);
215 std::cout <<
"\n=== Test Summary ===\n";
220 std::cout <<
"=== All tests passed! ✓ ===\n";
223 std::cout <<
"=== Some tests failed! ✗ ===\n";
Monitoring adapter for database operations.
void update_pool_stats(std::size_t active, std::size_t idle, std::size_t total)
Update connection pool statistics.
void record_connection_released()
Record connection release.
void record_query_execution(std::chrono::microseconds duration, bool success)
Record query execution.
void record_transaction_rollback()
Record transaction rollback.
common::Result< backends::health_check_result > check_health()
Perform health check.
common::Result< database_metrics > get_database_metrics()
Get database-specific metrics.
common::VoidResult reset()
Reset all metrics.
common::Result< backends::metrics_snapshot > get_metrics()
Get current metrics snapshot.
std::string export_prometheus_metrics()
Export metrics in Prometheus format.
void record_transaction_commit()
Record transaction commit.
void record_transaction_begin()
Record transaction begin.
void record_connection_acquired()
Record connection acquisition.
Database monitoring adapter with runtime backend selection.
Monitoring and metrics configuration.
bool enable_prometheus_export
Enable Prometheus metrics export.
bool enable_profiling
Enable performance profiling.
bool enable_metrics
Enable metrics collection.
std::chrono::seconds metrics_interval
Interval for collecting metrics.
bool enable_health_checks
Enable health check endpoints.
#define ASSERT_TRUE(condition)