Database System 0.1.0
Advanced C++20 Database System with Multi-Backend Support
Loading...
Searching...
No Matches
database::integrated::adapters::backends::null_monitoring_backend Class Reference

No-op monitoring backend. More...

#include <null_monitoring_backend.h>

Inheritance diagram for database::integrated::adapters::backends::null_monitoring_backend:
Inheritance graph
Collaboration diagram for database::integrated::adapters::backends::null_monitoring_backend:
Collaboration graph

Public Member Functions

 null_monitoring_backend (const db_monitoring_config &)
 
 ~null_monitoring_backend () override=default
 
common::VoidResult initialize () override
 Initialize the monitoring backend.
 
common::VoidResult shutdown () override
 Shutdown the monitoring backend gracefully.
 
bool is_initialized () const override
 Check if backend is initialized.
 
common::VoidResult record_metric (const std::string &, double) override
 Record a metric value.
 
common::VoidResult record_metric (const std::string &, double, const std::unordered_map< std::string, std::string > &) override
 Record a metric value with tags.
 
common::Result< metrics_snapshotget_metrics () override
 Get current metrics snapshot.
 
common::Result< health_check_resultcheck_health () override
 Perform health check.
 
common::VoidResult reset () override
 Reset all metrics.
 
void record_query_execution (std::chrono::microseconds, bool) override
 Record query execution.
 
void record_connection_acquired () override
 Record connection acquisition.
 
void record_connection_released () override
 Record connection release.
 
void update_pool_stats (std::size_t, std::size_t, std::size_t) override
 Update connection pool statistics.
 
void record_transaction_begin () override
 Record transaction begin.
 
void record_transaction_commit () override
 Record transaction commit.
 
void record_transaction_rollback () override
 Record transaction rollback.
 
common::Result< database_metricsget_database_metrics () override
 Get database-specific metrics.
 
std::string export_prometheus_metrics () override
 Export metrics in Prometheus format.
 
- Public Member Functions inherited from database::integrated::adapters::backends::monitoring_backend
virtual ~monitoring_backend ()=default
 

Detailed Description

No-op monitoring backend.

This backend discards all metrics and operations. All methods are no-ops. Useful for disabling monitoring without changing client code.

Definition at line 37 of file null_monitoring_backend.h.

Constructor & Destructor Documentation

◆ null_monitoring_backend()

database::integrated::adapters::backends::null_monitoring_backend::null_monitoring_backend ( const db_monitoring_config & )
inlineexplicit

Definition at line 40 of file null_monitoring_backend.h.

40{}

◆ ~null_monitoring_backend()

database::integrated::adapters::backends::null_monitoring_backend::~null_monitoring_backend ( )
overridedefault

Member Function Documentation

◆ check_health()

common::Result< health_check_result > database::integrated::adapters::backends::null_monitoring_backend::check_health ( )
inlineoverridevirtual

Perform health check.

Returns
Health check result

Implements database::integrated::adapters::backends::monitoring_backend.

Definition at line 75 of file null_monitoring_backend.h.

76 {
77 return health_check_result{ health_status::healthy, "Monitoring disabled", {} };
78 }

References database::integrated::adapters::backends::healthy.

◆ export_prometheus_metrics()

std::string database::integrated::adapters::backends::null_monitoring_backend::export_prometheus_metrics ( )
inlineoverridevirtual

Export metrics in Prometheus format.

Returns
Prometheus-formatted metrics string

Implements database::integrated::adapters::backends::monitoring_backend.

Definition at line 125 of file null_monitoring_backend.h.

126 {
127 return "# Monitoring disabled\n";
128 }

◆ get_database_metrics()

common::Result< database_metrics > database::integrated::adapters::backends::null_monitoring_backend::get_database_metrics ( )
inlineoverridevirtual

Get database-specific metrics.

Returns
Database metrics on success

Implements database::integrated::adapters::backends::monitoring_backend.

Definition at line 120 of file null_monitoring_backend.h.

121 {
122 return database_metrics{};
123 }

◆ get_metrics()

common::Result< metrics_snapshot > database::integrated::adapters::backends::null_monitoring_backend::get_metrics ( )
inlineoverridevirtual

Get current metrics snapshot.

Returns
Metrics snapshot on success

Implements database::integrated::adapters::backends::monitoring_backend.

Definition at line 70 of file null_monitoring_backend.h.

71 {
72 return metrics_snapshot{};
73 }

◆ initialize()

common::VoidResult database::integrated::adapters::backends::null_monitoring_backend::initialize ( )
inlineoverridevirtual

Initialize the monitoring backend.

Returns
VoidResult::ok() on success, error on failure

Implements database::integrated::adapters::backends::monitoring_backend.

Definition at line 43 of file null_monitoring_backend.h.

44 {
45 return common::ok();
46 }
VoidResult ok()

References common::ok().

Here is the call graph for this function:

◆ is_initialized()

bool database::integrated::adapters::backends::null_monitoring_backend::is_initialized ( ) const
inlineoverridevirtual

Check if backend is initialized.

Returns
true if initialized and ready

Implements database::integrated::adapters::backends::monitoring_backend.

Definition at line 53 of file null_monitoring_backend.h.

54 {
55 return true;
56 }

◆ record_connection_acquired()

void database::integrated::adapters::backends::null_monitoring_backend::record_connection_acquired ( )
inlineoverridevirtual

Record connection acquisition.

Implements database::integrated::adapters::backends::monitoring_backend.

Definition at line 90 of file null_monitoring_backend.h.

91 {
92 // No-op
93 }

◆ record_connection_released()

void database::integrated::adapters::backends::null_monitoring_backend::record_connection_released ( )
inlineoverridevirtual

Record connection release.

Implements database::integrated::adapters::backends::monitoring_backend.

Definition at line 95 of file null_monitoring_backend.h.

96 {
97 // No-op
98 }

◆ record_metric() [1/2]

common::VoidResult database::integrated::adapters::backends::null_monitoring_backend::record_metric ( const std::string & name,
double value )
inlineoverridevirtual

Record a metric value.

Parameters
nameMetric name
valueMetric value
Returns
VoidResult::ok() on success

Implements database::integrated::adapters::backends::monitoring_backend.

Definition at line 58 of file null_monitoring_backend.h.

59 {
60 return common::ok();
61 }

References common::ok().

Here is the call graph for this function:

◆ record_metric() [2/2]

common::VoidResult database::integrated::adapters::backends::null_monitoring_backend::record_metric ( const std::string & name,
double value,
const std::unordered_map< std::string, std::string > & tags )
inlineoverridevirtual

Record a metric value with tags.

Parameters
nameMetric name
valueMetric value
tagsMetric tags/labels
Returns
VoidResult::ok() on success

Implements database::integrated::adapters::backends::monitoring_backend.

Definition at line 63 of file null_monitoring_backend.h.

66 {
67 return common::ok();
68 }

References common::ok().

Here is the call graph for this function:

◆ record_query_execution()

void database::integrated::adapters::backends::null_monitoring_backend::record_query_execution ( std::chrono::microseconds duration,
bool success )
inlineoverridevirtual

Record query execution.

Parameters
durationQuery execution duration
successWhether query succeeded

Implements database::integrated::adapters::backends::monitoring_backend.

Definition at line 85 of file null_monitoring_backend.h.

86 {
87 // No-op
88 }

◆ record_transaction_begin()

void database::integrated::adapters::backends::null_monitoring_backend::record_transaction_begin ( )
inlineoverridevirtual

Record transaction begin.

Implements database::integrated::adapters::backends::monitoring_backend.

Definition at line 105 of file null_monitoring_backend.h.

106 {
107 // No-op
108 }

◆ record_transaction_commit()

void database::integrated::adapters::backends::null_monitoring_backend::record_transaction_commit ( )
inlineoverridevirtual

Record transaction commit.

Implements database::integrated::adapters::backends::monitoring_backend.

Definition at line 110 of file null_monitoring_backend.h.

111 {
112 // No-op
113 }

◆ record_transaction_rollback()

void database::integrated::adapters::backends::null_monitoring_backend::record_transaction_rollback ( )
inlineoverridevirtual

Record transaction rollback.

Implements database::integrated::adapters::backends::monitoring_backend.

Definition at line 115 of file null_monitoring_backend.h.

116 {
117 // No-op
118 }

◆ reset()

common::VoidResult database::integrated::adapters::backends::null_monitoring_backend::reset ( )
inlineoverridevirtual

Reset all metrics.

Returns
VoidResult::ok() on success

Implements database::integrated::adapters::backends::monitoring_backend.

Definition at line 80 of file null_monitoring_backend.h.

81 {
82 return common::ok();
83 }

References common::ok().

Here is the call graph for this function:

◆ shutdown()

common::VoidResult database::integrated::adapters::backends::null_monitoring_backend::shutdown ( )
inlineoverridevirtual

Shutdown the monitoring backend gracefully.

Returns
VoidResult::ok() on success, error on failure

Implements database::integrated::adapters::backends::monitoring_backend.

Definition at line 48 of file null_monitoring_backend.h.

49 {
50 return common::ok();
51 }

References common::ok().

Here is the call graph for this function:

◆ update_pool_stats()

void database::integrated::adapters::backends::null_monitoring_backend::update_pool_stats ( std::size_t active,
std::size_t idle,
std::size_t total )
inlineoverridevirtual

Update connection pool statistics.

Parameters
activeNumber of active connections
idleNumber of idle connections
totalTotal pool size

Implements database::integrated::adapters::backends::monitoring_backend.

Definition at line 100 of file null_monitoring_backend.h.

101 {
102 // No-op
103 }

The documentation for this class was generated from the following file: