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

Interface for collectors that aggregate metrics from multiple sources. More...

#include <metric_collector_interface.h>

Inheritance diagram for kcenon::monitoring::interface_aggregated_collector:
Inheritance graph
Collaboration diagram for kcenon::monitoring::interface_aggregated_collector:
Collaboration graph

Public Member Functions

virtual ~interface_aggregated_collector ()=default
 
virtual common::VoidResult register_source (std::shared_ptr< interface_metric_source > source)=0
 Register a metric source.
 
virtual common::VoidResult unregister_source (const std::string &source_name)=0
 Unregister a metric source.
 
virtual std::vector< std::string > get_registered_sources () const =0
 Get all registered sources.
 
- Public Member Functions inherited from kcenon::monitoring::interface_metric_collector
virtual ~interface_metric_collector ()=default
 
virtual common::Result< std::vector< metric > > collect_metrics ()=0
 Collect metrics based on current configuration.
 
virtual common::VoidResult start_collection (const collection_config &config)=0
 Start automatic metric collection.
 
virtual common::VoidResult stop_collection ()=0
 Stop automatic metric collection.
 
virtual bool is_collecting () const =0
 Check if collector is currently active.
 
virtual std::vector< std::string > get_metric_types () const =0
 Get the types of metrics this collector supports.
 
virtual collection_config get_config () const =0
 Get current collection configuration.
 
virtual common::VoidResult update_config (const collection_config &config)=0
 Update collection configuration.
 
virtual common::Result< std::vector< metric > > force_collect ()=0
 Force immediate metric collection.
 
virtual metric_stats get_stats () const =0
 Get collector statistics.
 
virtual void reset_stats ()=0
 Reset collector statistics.
 
- Public Member Functions inherited from kcenon::monitoring::interface_observable
virtual ~interface_observable ()=default
 
virtual common::VoidResult register_observer (std::shared_ptr< interface_monitoring_observer > observer)=0
 Register an observer for events.
 
virtual common::VoidResult unregister_observer (std::shared_ptr< interface_monitoring_observer > observer)=0
 Unregister an observer.
 
virtual void notify_metric (const metric_event &event)=0
 Notify all observers of a metric event.
 
virtual void notify_event (const system_event &event)=0
 Notify all observers of a system event.
 
virtual void notify_state_change (const state_change_event &event)=0
 Notify all observers of a state change.
 

Detailed Description

Interface for collectors that aggregate metrics from multiple sources.

This interface extends interface_metric_collector to support collecting metrics from multiple registered sources. It provides source management capabilities and aggregation of metrics from all sources.

Thread Safety:
Implementations MUST be thread-safe. Source registration and unregistration can be performed while collection is active. All source operations should be protected appropriately.

Definition at line 412 of file metric_collector_interface.h.

Constructor & Destructor Documentation

◆ ~interface_aggregated_collector()

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

Member Function Documentation

◆ get_registered_sources()

virtual std::vector< std::string > kcenon::monitoring::interface_aggregated_collector::get_registered_sources ( ) const
pure virtual

Get all registered sources.

Returns
Vector of registered source names
Examples
/home/runner/work/monitoring_system/monitoring_system/include/kcenon/monitoring/interfaces/metric_collector_interface.h.

◆ register_source()

virtual common::VoidResult kcenon::monitoring::interface_aggregated_collector::register_source ( std::shared_ptr< interface_metric_source > source)
pure virtual

Register a metric source.

Parameters
sourceThe metric source to register
Returns
Result indicating success or failure
Examples
/home/runner/work/monitoring_system/monitoring_system/include/kcenon/monitoring/interfaces/metric_collector_interface.h.

◆ unregister_source()

virtual common::VoidResult kcenon::monitoring::interface_aggregated_collector::unregister_source ( const std::string & source_name)
pure virtual

Unregister a metric source.

Parameters
source_nameThe name of the source to unregister
Returns
Result indicating success or failure
Examples
/home/runner/work/monitoring_system/monitoring_system/include/kcenon/monitoring/interfaces/metric_collector_interface.h.

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