Monitoring System 0.1.0
System resource monitoring with pluggable collectors and alerting
Loading...
Searching...
No Matches
kcenon::monitoring::crtp_collector_adapter< T > Class Template Reference

Adapter for CRTP-based collectors (collector_base<T>) More...

#include <collector_adapters.h>

Inheritance diagram for kcenon::monitoring::crtp_collector_adapter< T >:
Inheritance graph
Collaboration diagram for kcenon::monitoring::crtp_collector_adapter< T >:
Collaboration graph

Public Member Functions

 crtp_collector_adapter ()
 
bool initialize (const config_map &config) override
 
std::string get_name () const override
 
bool is_healthy () const override
 
std::vector< std::string > get_metric_types () const override
 
T * get_collector ()
 Get the underlying collector.
 
const T * get_collector () const
 
- Public Member Functions inherited from kcenon::monitoring::collector_interface
 collector_interface ()=default
 
virtual ~collector_interface ()=default
 
 collector_interface (const collector_interface &)=delete
 
collector_interfaceoperator= (const collector_interface &)=delete
 
 collector_interface (collector_interface &&)=delete
 
collector_interfaceoperator= (collector_interface &&)=delete
 

Private Attributes

std::unique_ptr< T > collector_
 

Detailed Description

template<typename T>
class kcenon::monitoring::crtp_collector_adapter< T >

Adapter for CRTP-based collectors (collector_base<T>)

Wraps collectors that derive from collector_base<T>.

Template Parameters
TThe concrete collector type

Definition at line 65 of file collector_adapters.h.

Constructor & Destructor Documentation

◆ crtp_collector_adapter()

template<typename T >
kcenon::monitoring::crtp_collector_adapter< T >::crtp_collector_adapter ( )
inline

Definition at line 67 of file collector_adapters.h.

67: collector_(std::make_unique<T>()) {}

Member Function Documentation

◆ get_collector() [1/2]

template<typename T >
T * kcenon::monitoring::crtp_collector_adapter< T >::get_collector ( )
inlinenodiscard

Get the underlying collector.

Returns
Pointer to the wrapped collector

Definition at line 85 of file collector_adapters.h.

85{ return collector_.get(); }

References kcenon::monitoring::crtp_collector_adapter< T >::collector_.

◆ get_collector() [2/2]

template<typename T >
const T * kcenon::monitoring::crtp_collector_adapter< T >::get_collector ( ) const
inlinenodiscard

Definition at line 86 of file collector_adapters.h.

86{ return collector_.get(); }

References kcenon::monitoring::crtp_collector_adapter< T >::collector_.

◆ get_metric_types()

template<typename T >
std::vector< std::string > kcenon::monitoring::crtp_collector_adapter< T >::get_metric_types ( ) const
inlinenodiscardoverridevirtual

Get supported metric types

Returns
Vector of supported metric type names

Implements kcenon::monitoring::collector_interface.

Definition at line 77 of file collector_adapters.h.

77 {
78 return collector_->get_metric_types();
79 }

References kcenon::monitoring::crtp_collector_adapter< T >::collector_.

◆ get_name()

template<typename T >
std::string kcenon::monitoring::crtp_collector_adapter< T >::get_name ( ) const
inlinenodiscardoverridevirtual

Get the name of this collector

Returns
Collector name

Implements kcenon::monitoring::collector_interface.

Definition at line 73 of file collector_adapters.h.

73{ return collector_->get_name(); }

References kcenon::monitoring::crtp_collector_adapter< T >::collector_.

◆ initialize()

template<typename T >
bool kcenon::monitoring::crtp_collector_adapter< T >::initialize ( const config_map & config)
inlineoverridevirtual

Initialize the collector with configuration

Parameters
configConfiguration options
Returns
true if initialization successful

Implements kcenon::monitoring::collector_interface.

Definition at line 69 of file collector_adapters.h.

69 {
70 return collector_->initialize(config);
71 }

References kcenon::monitoring::crtp_collector_adapter< T >::collector_.

◆ is_healthy()

template<typename T >
bool kcenon::monitoring::crtp_collector_adapter< T >::is_healthy ( ) const
inlinenodiscardoverridevirtual

Check if the collector is healthy

Returns
true if collector is operational

Implements kcenon::monitoring::collector_interface.

Definition at line 75 of file collector_adapters.h.

75{ return collector_->is_available(); }

References kcenon::monitoring::crtp_collector_adapter< T >::collector_.

Member Data Documentation

◆ collector_


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