Thread System 0.3.1
High-performance C++20 thread pool with work stealing and DAG scheduling
Loading...
Searching...
No Matches
console_monitoring Class Reference

Simple monitoring implementation using common::interfaces::IMonitor. More...

Inheritance diagram for console_monitoring:
Inheritance graph
Collaboration diagram for console_monitoring:
Collaboration graph

Public Types

using VoidResult = kcenon::common::VoidResult
 

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
 
kcenon::common::Result< kcenon::common::interfaces::metrics_snapshot > get_metrics () override
 
kcenon::common::Result< kcenon::common::interfaces::health_check_result > check_health () override
 
VoidResult reset () override
 

Private Attributes

kcenon::common::interfaces::metrics_snapshot snapshot_
 

Detailed Description

Simple monitoring implementation using common::interfaces::IMonitor.

Note
Issue #312: Updated to use common_system's IMonitor interface.
Examples
composition_example.cpp.

Definition at line 98 of file composition_example.cpp.

Member Typedef Documentation

◆ VoidResult

using console_monitoring::VoidResult = kcenon::common::VoidResult
Examples
composition_example.cpp.

Definition at line 100 of file composition_example.cpp.

Member Function Documentation

◆ check_health()

kcenon::common::Result< kcenon::common::interfaces::health_check_result > console_monitoring::check_health ( )
inlineoverride
Examples
composition_example.cpp.

Definition at line 135 of file composition_example.cpp.

135 {
136 kcenon::common::interfaces::health_check_result result;
137 result.status = kcenon::common::interfaces::health_status::healthy;
138 result.message = "Console monitoring active";
139 return kcenon::common::ok(result);
140 }
A template class representing either a value or an error.

◆ get_metrics()

kcenon::common::Result< kcenon::common::interfaces::metrics_snapshot > console_monitoring::get_metrics ( )
inlineoverride
Examples
composition_example.cpp.

Definition at line 131 of file composition_example.cpp.

131 {
132 return kcenon::common::ok(snapshot_);
133 }
kcenon::common::interfaces::metrics_snapshot snapshot_

References snapshot_.

◆ record_metric() [1/2]

VoidResult console_monitoring::record_metric ( const std::string & name,
double value )
inlineoverride
Examples
composition_example.cpp.

Definition at line 102 of file composition_example.cpp.

102 {
103 std::cout << "[MONITORING] " << name << ": " << value << std::endl;
104 snapshot_.add_metric(name, value);
105 return kcenon::common::ok();
106 }

References snapshot_.

◆ record_metric() [2/2]

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

Definition at line 108 of file composition_example.cpp.

111 {
112 std::cout << "[MONITORING] " << name << ": " << value;
113 if (!tags.empty()) {
114 std::cout << " {";
115 bool first = true;
116 for (const auto& [k, v] : tags) {
117 if (!first) std::cout << ", ";
118 std::cout << k << "=" << v;
119 first = false;
120 }
121 std::cout << "}";
122 }
123 std::cout << std::endl;
124
125 kcenon::common::interfaces::metric_value mv(name, value);
126 mv.tags = tags;
127 snapshot_.metrics.push_back(mv);
128 return kcenon::common::ok();
129 }

References snapshot_.

◆ reset()

VoidResult console_monitoring::reset ( )
inlineoverride
Examples
composition_example.cpp.

Definition at line 142 of file composition_example.cpp.

142 {
143 snapshot_ = {};
144 return kcenon::common::ok();
145 }

References snapshot_.

Member Data Documentation

◆ snapshot_

kcenon::common::interfaces::metrics_snapshot console_monitoring::snapshot_
private
Examples
composition_example.cpp.

Definition at line 148 of file composition_example.cpp.

Referenced by get_metrics(), record_metric(), record_metric(), and reset().


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