Monitoring System 0.1.0
System resource monitoring with pluggable collectors and alerting
Loading...
Searching...
No Matches
kcenon::monitoring::monitoring_interface Class Referenceabstract

Abstract interface for monitoring operations. More...

#include <monitoring_core.h>

Collaboration diagram for kcenon::monitoring::monitoring_interface:
Collaboration graph

Public Member Functions

virtual ~monitoring_interface ()=default
 
virtual common::VoidResult configure (const monitoring_config &config)=0
 
virtual common::Result< monitoring_configget_configuration () const =0
 
virtual common::VoidResult add_collector (std::unique_ptr< metrics_collector > collector)=0
 
virtual common::VoidResult remove_collector (const std::string &name)=0
 
virtual common::Result< std::vector< std::string > > list_collectors () const =0
 
virtual common::VoidResult start ()=0
 
virtual common::VoidResult stop ()=0
 
virtual common::Result< metrics_snapshotcollect_now ()=0
 
virtual common::Result< metrics_snapshotget_latest_snapshot () const =0
 
virtual common::Result< std::vector< metrics_snapshot > > get_history (std::size_t count) const =0
 
virtual common::Result< health_check_resultcheck_health () const =0
 
virtual common::VoidResult register_health_check (const std::string &name, std::function< health_check_result()> checker)=0
 
virtual common::VoidResult set_storage_backend (std::unique_ptr< storage_backend > storage)=0
 
virtual common::VoidResult flush_storage ()=0
 
virtual common::VoidResult add_analyzer (std::unique_ptr< metrics_analyzer > analyzer)=0
 
virtual common::Result< std::vector< std::string > > get_analysis_results () const =0
 
virtual bool is_running () const =0
 
virtual common::Result< std::string > get_status_summary () const =0
 

Detailed Description

Abstract interface for monitoring operations.

This interface defines the contract for monitoring implementations, using the Result pattern for all operations that may fail. It provides comprehensive functionality for collector management, metrics operations, health checks, storage, and analysis.

Thread Safety:
Implementations MUST be thread-safe. All methods may be called from multiple threads simultaneously. The start/stop methods should handle concurrent collection safely.

Definition at line 259 of file monitoring_core.h.

Constructor & Destructor Documentation

◆ ~monitoring_interface()

virtual kcenon::monitoring::monitoring_interface::~monitoring_interface ( )
virtualdefault

Member Function Documentation

◆ add_analyzer()

virtual common::VoidResult kcenon::monitoring::monitoring_interface::add_analyzer ( std::unique_ptr< metrics_analyzer > analyzer)
pure virtual

◆ add_collector()

virtual common::VoidResult kcenon::monitoring::monitoring_interface::add_collector ( std::unique_ptr< metrics_collector > collector)
pure virtual

◆ check_health()

virtual common::Result< health_check_result > kcenon::monitoring::monitoring_interface::check_health ( ) const
pure virtual

◆ collect_now()

virtual common::Result< metrics_snapshot > kcenon::monitoring::monitoring_interface::collect_now ( )
pure virtual

◆ configure()

virtual common::VoidResult kcenon::monitoring::monitoring_interface::configure ( const monitoring_config & config)
pure virtual

◆ flush_storage()

virtual common::VoidResult kcenon::monitoring::monitoring_interface::flush_storage ( )
pure virtual

◆ get_analysis_results()

virtual common::Result< std::vector< std::string > > kcenon::monitoring::monitoring_interface::get_analysis_results ( ) const
pure virtual

◆ get_configuration()

virtual common::Result< monitoring_config > kcenon::monitoring::monitoring_interface::get_configuration ( ) const
pure virtual

◆ get_history()

virtual common::Result< std::vector< metrics_snapshot > > kcenon::monitoring::monitoring_interface::get_history ( std::size_t count) const
pure virtual

◆ get_latest_snapshot()

virtual common::Result< metrics_snapshot > kcenon::monitoring::monitoring_interface::get_latest_snapshot ( ) const
pure virtual

◆ get_status_summary()

virtual common::Result< std::string > kcenon::monitoring::monitoring_interface::get_status_summary ( ) const
pure virtual

◆ is_running()

virtual bool kcenon::monitoring::monitoring_interface::is_running ( ) const
pure virtual

◆ list_collectors()

virtual common::Result< std::vector< std::string > > kcenon::monitoring::monitoring_interface::list_collectors ( ) const
pure virtual

◆ register_health_check()

virtual common::VoidResult kcenon::monitoring::monitoring_interface::register_health_check ( const std::string & name,
std::function< health_check_result()> checker )
pure virtual

◆ remove_collector()

virtual common::VoidResult kcenon::monitoring::monitoring_interface::remove_collector ( const std::string & name)
pure virtual

◆ set_storage_backend()

virtual common::VoidResult kcenon::monitoring::monitoring_interface::set_storage_backend ( std::unique_ptr< storage_backend > storage)
pure virtual

◆ start()

virtual common::VoidResult kcenon::monitoring::monitoring_interface::start ( )
pure virtual

◆ stop()

virtual common::VoidResult kcenon::monitoring::monitoring_interface::stop ( )
pure virtual

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