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

Adaptive monitoring controller. More...

#include <adaptive_monitor.h>

Collaboration diagram for kcenon::monitoring::adaptive_monitor:
Collaboration graph

Public Member Functions

 adaptive_monitor ()
 
 ~adaptive_monitor ()
 
 adaptive_monitor (const adaptive_monitor &)=delete
 
adaptive_monitoroperator= (const adaptive_monitor &)=delete
 
 adaptive_monitor (adaptive_monitor &&) noexcept
 
adaptive_monitoroperator= (adaptive_monitor &&) noexcept
 
common::Result< bool > register_collector (const std::string &name, std::shared_ptr< kcenon::monitoring::metrics_collector > collector, const adaptive_config &config={})
 Register a collector for adaptive monitoring.
 
common::Result< bool > unregister_collector (const std::string &name)
 Unregister a collector.
 
common::Result< bool > start ()
 Start adaptive monitoring.
 
common::Result< bool > stop ()
 Stop adaptive monitoring.
 
bool is_running () const
 Check if monitoring is active.
 
common::Result< adaptation_statsget_collector_stats (const std::string &name) const
 Get adaptation statistics for a collector.
 
std::unordered_map< std::string, adaptation_statsget_all_stats () const
 Get all collector statistics.
 
void set_global_strategy (adaptation_strategy strategy)
 Set global adaptation strategy.
 
common::Result< bool > force_adaptation ()
 Force adaptation cycle.
 
std::vector< std::string > get_active_collectors () const
 Get recommended collectors based on load.
 
common::Result< bool > set_collector_priority (const std::string &name, int priority)
 Set priority for a collector (higher priority = keep active longer)
 

Private Attributes

std::unique_ptr< monitor_impl > impl_
 

Detailed Description

Adaptive monitoring controller.

Definition at line 460 of file adaptive_monitor.h.

Constructor & Destructor Documentation

◆ adaptive_monitor() [1/3]

kcenon::monitoring::adaptive_monitor::adaptive_monitor ( )

◆ ~adaptive_monitor()

kcenon::monitoring::adaptive_monitor::~adaptive_monitor ( )

◆ adaptive_monitor() [2/3]

kcenon::monitoring::adaptive_monitor::adaptive_monitor ( const adaptive_monitor & )
delete

◆ adaptive_monitor() [3/3]

kcenon::monitoring::adaptive_monitor::adaptive_monitor ( adaptive_monitor && )
noexcept

Member Function Documentation

◆ force_adaptation()

common::Result< bool > kcenon::monitoring::adaptive_monitor::force_adaptation ( )

Force adaptation cycle.

◆ get_active_collectors()

std::vector< std::string > kcenon::monitoring::adaptive_monitor::get_active_collectors ( ) const

Get recommended collectors based on load.

◆ get_all_stats()

std::unordered_map< std::string, adaptation_stats > kcenon::monitoring::adaptive_monitor::get_all_stats ( ) const

Get all collector statistics.

◆ get_collector_stats()

common::Result< adaptation_stats > kcenon::monitoring::adaptive_monitor::get_collector_stats ( const std::string & name) const

Get adaptation statistics for a collector.

Referenced by TEST_F(), and TEST_F().

Here is the caller graph for this function:

◆ is_running()

bool kcenon::monitoring::adaptive_monitor::is_running ( ) const

Check if monitoring is active.

◆ operator=() [1/2]

adaptive_monitor & kcenon::monitoring::adaptive_monitor::operator= ( adaptive_monitor && )
noexcept

◆ operator=() [2/2]

adaptive_monitor & kcenon::monitoring::adaptive_monitor::operator= ( const adaptive_monitor & )
delete

◆ register_collector()

common::Result< bool > kcenon::monitoring::adaptive_monitor::register_collector ( const std::string & name,
std::shared_ptr< kcenon::monitoring::metrics_collector > collector,
const adaptive_config & config = {} )

Register a collector for adaptive monitoring.

Referenced by TEST_F().

Here is the caller graph for this function:

◆ set_collector_priority()

common::Result< bool > kcenon::monitoring::adaptive_monitor::set_collector_priority ( const std::string & name,
int priority )

Set priority for a collector (higher priority = keep active longer)

◆ set_global_strategy()

void kcenon::monitoring::adaptive_monitor::set_global_strategy ( adaptation_strategy strategy)

Set global adaptation strategy.

◆ start()

common::Result< bool > kcenon::monitoring::adaptive_monitor::start ( )

Start adaptive monitoring.

Referenced by TEST_F().

Here is the caller graph for this function:

◆ stop()

common::Result< bool > kcenon::monitoring::adaptive_monitor::stop ( )

Stop adaptive monitoring.

Referenced by AdaptiveMonitoringTest::SetUp(), AdaptiveMonitoringTest::TearDown(), and TEST_F().

Here is the caller graph for this function:

◆ unregister_collector()

common::Result< bool > kcenon::monitoring::adaptive_monitor::unregister_collector ( const std::string & name)

Unregister a collector.

Referenced by kcenon::monitoring::adaptive_scope::operator=(), and kcenon::monitoring::adaptive_scope::~adaptive_scope().

Here is the caller graph for this function:

Member Data Documentation

◆ impl_

std::unique_ptr<monitor_impl> kcenon::monitoring::adaptive_monitor::impl_
private

Definition at line 463 of file adaptive_monitor.h.


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