Monitoring System 0.1.0
System resource monitoring with pluggable collectors and alerting
Loading...
Searching...
No Matches
mock_monitor Class Reference

Mock IMonitor for testing cross-system integration. More...

Inheritance diagram for mock_monitor:
Inheritance graph
Collaboration diagram for mock_monitor:
Collaboration graph

Public Member Functions

VoidResult record_metric (const std::string &name, double value) override
 
VoidResult record_metric (const std::string &name, double value, const std::unordered_map< std::string, std::string > &tags) override
 
Result< common_if::metrics_snapshot > get_metrics () override
 
Result< common_if::health_check_result > check_health () override
 
VoidResult reset () override
 
size_t get_metric_count () const
 

Private Attributes

std::vector< common_if::metric_value > metrics_
 
std::mutex mutex_
 

Detailed Description

Mock IMonitor for testing cross-system integration.

Implements common_system's IMonitor interface for testing.

Definition at line 95 of file test_cross_system_integration.cpp.

Member Function Documentation

◆ check_health()

Result< common_if::health_check_result > mock_monitor::check_health ( )
inlineoverride

Definition at line 126 of file test_cross_system_integration.cpp.

126 {
127 common_if::health_check_result result;
128 result.status = common_if::health_status::healthy;
129 result.message = "Mock monitor operational";
130 return result;
131 }

◆ get_metric_count()

size_t mock_monitor::get_metric_count ( ) const
inline

Definition at line 139 of file test_cross_system_integration.cpp.

139 {
140 std::lock_guard<std::mutex> lock(mutex_);
141 return metrics_.size();
142 }
std::vector< common_if::metric_value > metrics_

References metrics_, and mutex_.

◆ get_metrics()

Result< common_if::metrics_snapshot > mock_monitor::get_metrics ( )
inlineoverride

Definition at line 118 of file test_cross_system_integration.cpp.

118 {
119 std::lock_guard<std::mutex> lock(mutex_);
120 common_if::metrics_snapshot snapshot;
121 snapshot.metrics = metrics_;
122 snapshot.source_id = "mock_monitor";
123 return snapshot;
124 }

References metrics_, and mutex_.

◆ record_metric() [1/2]

VoidResult mock_monitor::record_metric ( const std::string & name,
double value )
inlineoverride

Definition at line 101 of file test_cross_system_integration.cpp.

101 {
102 std::lock_guard<std::mutex> lock(mutex_);
103 metrics_.emplace_back(name, value);
104 return kcenon::common::ok();
105 }

References metrics_, and mutex_.

◆ record_metric() [2/2]

VoidResult mock_monitor::record_metric ( const std::string & name,
double value,
const std::unordered_map< std::string, std::string > & tags )
inlineoverride

Definition at line 107 of file test_cross_system_integration.cpp.

110 {
111 std::lock_guard<std::mutex> lock(mutex_);
112 common_if::metric_value mv(name, value);
113 mv.tags = tags;
114 metrics_.push_back(mv);
115 return kcenon::common::ok();
116 }

References metrics_, and mutex_.

◆ reset()

VoidResult mock_monitor::reset ( )
inlineoverride

Definition at line 133 of file test_cross_system_integration.cpp.

133 {
134 std::lock_guard<std::mutex> lock(mutex_);
135 metrics_.clear();
136 return kcenon::common::ok();
137 }

References metrics_, and mutex_.

Member Data Documentation

◆ metrics_

std::vector<common_if::metric_value> mock_monitor::metrics_
private

◆ mutex_

std::mutex mock_monitor::mutex_
mutableprivate

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