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

#include <plugin_metric_collector.h>

Collaboration diagram for kcenon::monitoring::plugin_factory:
Collaboration graph

Static Public Member Functions

static std::unique_ptr< metric_collector_plugincreate_system_resource_collector (const std::unordered_map< std::string, std::string > &config={})
 
static std::unique_ptr< metric_collector_plugincreate_thread_system_collector (const std::unordered_map< std::string, std::string > &config={})
 
static std::unique_ptr< metric_collector_plugincreate_logger_system_collector (const std::unordered_map< std::string, std::string > &config={})
 
static void register_factory (const std::string &type, std::function< std::unique_ptr< metric_collector_plugin >(const std::unordered_map< std::string, std::string > &)> factory)
 
static std::unique_ptr< metric_collector_plugincreate (const std::string &type, const std::unordered_map< std::string, std::string > &config={})
 

Static Private Attributes

static std::unordered_map< std::string, std::function< std::unique_ptr< metric_collector_plugin >(const std::unordered_map< std::string, std::string > &)> > factories_
 
static std::mutex factories_mutex_
 

Detailed Description

Factory for creating standard collector plugins

Definition at line 245 of file plugin_metric_collector.h.

Member Function Documentation

◆ create()

static std::unique_ptr< metric_collector_plugin > kcenon::monitoring::plugin_factory::create ( const std::string & type,
const std::unordered_map< std::string, std::string > & config = {} )
static

Create a plugin by type name

Parameters
typePlugin type name
configPlugin configuration
Returns
Plugin instance or nullptr if type not found

◆ create_logger_system_collector()

static std::unique_ptr< metric_collector_plugin > kcenon::monitoring::plugin_factory::create_logger_system_collector ( const std::unordered_map< std::string, std::string > & config = {})
static

Create a logger system collector plugin

Parameters
configPlugin configuration
Returns
Logger system collector instance

◆ create_system_resource_collector()

static std::unique_ptr< metric_collector_plugin > kcenon::monitoring::plugin_factory::create_system_resource_collector ( const std::unordered_map< std::string, std::string > & config = {})
static

Create a system resource collector plugin

Parameters
configPlugin configuration
Returns
System resource collector instance

◆ create_thread_system_collector()

static std::unique_ptr< metric_collector_plugin > kcenon::monitoring::plugin_factory::create_thread_system_collector ( const std::unordered_map< std::string, std::string > & config = {})
static

Create a thread system collector plugin

Parameters
configPlugin configuration
Returns
Thread system collector instance

◆ register_factory()

static void kcenon::monitoring::plugin_factory::register_factory ( const std::string & type,
std::function< std::unique_ptr< metric_collector_plugin >(const std::unordered_map< std::string, std::string > &)> factory )
static

Register a custom plugin factory

Parameters
typePlugin type name
factoryFactory function

Member Data Documentation

◆ factories_

std::unordered_map< std::string, std::function<std::unique_ptr<metric_collector_plugin>(const std::unordered_map<std::string, std::string>&)> > kcenon::monitoring::plugin_factory::factories_
staticprivate

Definition at line 293 of file plugin_metric_collector.h.

◆ factories_mutex_

std::mutex kcenon::monitoring::plugin_factory::factories_mutex_
staticprivate

Definition at line 294 of file plugin_metric_collector.h.


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