|
Network System 0.1.1
High-performance modular networking library for scalable client-server applications
|
Manager for monitoring system integration. More...
#include <monitoring_integration.h>

Classes | |
| class | impl |
Public Member Functions | |
| void | set_monitoring (std::shared_ptr< monitoring_interface > monitoring) |
| Set the monitoring implementation. | |
| std::shared_ptr< monitoring_interface > | get_monitoring () |
| Get the current monitoring implementation. | |
| void | report_counter (const std::string &name, double value, const std::map< std::string, std::string > &labels={}) |
| Report a counter metric. | |
| void | report_gauge (const std::string &name, double value, const std::map< std::string, std::string > &labels={}) |
| Report a gauge metric. | |
| void | report_histogram (const std::string &name, double value, const std::map< std::string, std::string > &labels={}) |
| Report a histogram metric. | |
| void | report_health (const std::string &connection_id, bool is_alive, double response_time_ms, size_t missed_heartbeats, double packet_loss_rate) |
| Report connection health metrics. | |
Static Public Member Functions | |
| static monitoring_integration_manager & | instance () |
| Get the singleton instance. | |
Private Member Functions | |
| monitoring_integration_manager () | |
| ~monitoring_integration_manager () | |
Private Attributes | |
| std::unique_ptr< impl > | pimpl_ |
Manager for monitoring system integration.
This class manages the integration between network_system and monitoring implementations.
Definition at line 164 of file monitoring_integration.h.
|
private |
Definition at line 194 of file monitoring_integration.cpp.
|
privatedefault |
| std::shared_ptr< monitoring_interface > kcenon::network::integration::monitoring_integration_manager::get_monitoring | ( | ) |
Get the current monitoring implementation.
Definition at line 213 of file monitoring_integration.cpp.
References kcenon::network::integration::monitoring_integration_manager::impl::get_monitoring(), and pimpl_.
Referenced by kcenon::network::core::network_context::get_monitoring(), kcenon::network::core::network_context::initialize(), report_counter(), report_gauge(), report_health(), and report_histogram().


|
static |
Get the singleton instance.
Definition at line 201 of file monitoring_integration.cpp.
References instance().
Referenced by kcenon::network::core::network_context::get_monitoring(), kcenon::network::core::network_context::initialize(), instance(), kcenon::network::metrics::metric_reporter::record_connection_time(), kcenon::network::metrics::metric_reporter::record_request_duration(), kcenon::network::metrics::metric_reporter::report_active_connections(), kcenon::network::metrics::metric_reporter::report_bytes_received(), kcenon::network::metrics::metric_reporter::report_bytes_sent(), kcenon::network::metrics::metric_reporter::report_connection_accepted(), kcenon::network::metrics::metric_reporter::report_connection_failed(), kcenon::network::metrics::metric_reporter::report_error(), kcenon::network::metrics::metric_reporter::report_latency(), kcenon::network::metrics::metric_reporter::report_session_duration(), kcenon::network::metrics::metric_reporter::report_timeout(), kcenon::network::core::network_context::set_monitoring(), and kcenon::network::utils::health_monitor::update_health().


| void kcenon::network::integration::monitoring_integration_manager::report_counter | ( | const std::string & | name, |
| double | value, | ||
| const std::map< std::string, std::string > & | labels = {} ) |
Report a counter metric.
| name | Metric name |
| value | Counter value |
| labels | Optional labels |
Definition at line 218 of file monitoring_integration.cpp.
References get_monitoring().
Referenced by kcenon::network::metrics::metric_reporter::report_bytes_received(), kcenon::network::metrics::metric_reporter::report_bytes_sent(), kcenon::network::metrics::metric_reporter::report_connection_accepted(), kcenon::network::metrics::metric_reporter::report_connection_failed(), kcenon::network::metrics::metric_reporter::report_error(), and kcenon::network::metrics::metric_reporter::report_timeout().


| void kcenon::network::integration::monitoring_integration_manager::report_gauge | ( | const std::string & | name, |
| double | value, | ||
| const std::map< std::string, std::string > & | labels = {} ) |
Report a gauge metric.
| name | Metric name |
| value | Gauge value |
| labels | Optional labels |
Definition at line 224 of file monitoring_integration.cpp.
References get_monitoring().
Referenced by kcenon::network::metrics::metric_reporter::report_active_connections().


| void kcenon::network::integration::monitoring_integration_manager::report_health | ( | const std::string & | connection_id, |
| bool | is_alive, | ||
| double | response_time_ms, | ||
| size_t | missed_heartbeats, | ||
| double | packet_loss_rate ) |
Report connection health metrics.
| connection_id | Connection identifier |
| is_alive | Connection alive status |
| response_time_ms | Response time in milliseconds |
| missed_heartbeats | Number of missed heartbeats |
| packet_loss_rate | Packet loss rate (0.0-1.0) |
Definition at line 236 of file monitoring_integration.cpp.
References get_monitoring().

| void kcenon::network::integration::monitoring_integration_manager::report_histogram | ( | const std::string & | name, |
| double | value, | ||
| const std::map< std::string, std::string > & | labels = {} ) |
Report a histogram metric.
| name | Metric name |
| value | Histogram value |
| labels | Optional labels |
Definition at line 230 of file monitoring_integration.cpp.
References get_monitoring().
Referenced by kcenon::network::metrics::metric_reporter::record_connection_time(), kcenon::network::metrics::metric_reporter::record_request_duration(), kcenon::network::metrics::metric_reporter::report_latency(), and kcenon::network::metrics::metric_reporter::report_session_duration().


| void kcenon::network::integration::monitoring_integration_manager::set_monitoring | ( | std::shared_ptr< monitoring_interface > | monitoring | ) |
Set the monitoring implementation.
| monitoring | Monitoring implementation to use |
Definition at line 207 of file monitoring_integration.cpp.
References pimpl_, and kcenon::network::integration::monitoring_integration_manager::impl::set_monitoring().
Referenced by kcenon::network::core::network_context::set_monitoring().


|
private |
Definition at line 229 of file monitoring_integration.h.
Referenced by get_monitoring(), and set_monitoring().