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

Abstract interface for platform-specific metrics collection. More...

#include <metrics_provider.h>

Collaboration diagram for kcenon::monitoring::platform::metrics_provider:
Collaboration graph

Public Member Functions

virtual ~metrics_provider ()=default
 
 metrics_provider (const metrics_provider &)=delete
 
metrics_provideroperator= (const metrics_provider &)=delete
 
 metrics_provider (metrics_provider &&)=delete
 
metrics_provideroperator= (metrics_provider &&)=delete
 
virtual std::string get_platform_name () const =0
 Get the platform name.
 
virtual bool is_battery_available () const =0
 Check if battery monitoring is available.
 
virtual std::vector< battery_readingget_battery_readings ()=0
 Get battery readings from all available batteries.
 
virtual bool is_temperature_available () const =0
 Check if temperature monitoring is available.
 
virtual std::vector< temperature_readingget_temperature_readings ()=0
 Get temperature readings from all available sensors.
 
virtual uptime_info get_uptime ()=0
 Get system uptime information.
 
virtual context_switch_info get_context_switches ()=0
 Get context switch statistics.
 
virtual fd_info get_fd_stats ()=0
 Get file descriptor statistics.
 
virtual std::vector< inode_infoget_inode_stats ()=0
 Get inode statistics for all filesystems.
 
virtual tcp_state_info get_tcp_states ()=0
 Get TCP connection state statistics.
 
virtual socket_buffer_info get_socket_buffer_stats ()=0
 Get socket buffer statistics.
 
virtual std::vector< interrupt_infoget_interrupt_stats ()=0
 Get interrupt statistics.
 
virtual bool is_power_available () const =0
 Check if power monitoring is available.
 
virtual power_info get_power_info ()=0
 Get power consumption information.
 
virtual bool is_gpu_available () const =0
 Check if GPU monitoring is available.
 
virtual std::vector< gpu_infoget_gpu_info ()=0
 Get GPU information and metrics.
 
virtual security_info get_security_info ()=0
 Get security-related metrics.
 

Static Public Member Functions

static std::unique_ptr< metrics_providercreate ()
 Create a platform-specific metrics provider.
 

Protected Member Functions

 metrics_provider ()=default
 

Detailed Description

Abstract interface for platform-specific metrics collection.

This class defines the interface that all platform-specific implementations must follow. Use the static create() method to get a platform-appropriate implementation.

Definition at line 174 of file metrics_provider.h.

Constructor & Destructor Documentation

◆ ~metrics_provider()

virtual kcenon::monitoring::platform::metrics_provider::~metrics_provider ( )
virtualdefault

◆ metrics_provider() [1/3]

kcenon::monitoring::platform::metrics_provider::metrics_provider ( const metrics_provider & )
delete

◆ metrics_provider() [2/3]

kcenon::monitoring::platform::metrics_provider::metrics_provider ( metrics_provider && )
delete

◆ metrics_provider() [3/3]

kcenon::monitoring::platform::metrics_provider::metrics_provider ( )
protecteddefault

Member Function Documentation

◆ create()

static std::unique_ptr< metrics_provider > kcenon::monitoring::platform::metrics_provider::create ( )
static

Create a platform-specific metrics provider.

Returns
Unique pointer to the appropriate platform implementation

◆ get_battery_readings()

virtual std::vector< battery_reading > kcenon::monitoring::platform::metrics_provider::get_battery_readings ( )
pure virtual

Get battery readings from all available batteries.

Returns
Vector of battery readings

◆ get_context_switches()

virtual context_switch_info kcenon::monitoring::platform::metrics_provider::get_context_switches ( )
pure virtual

Get context switch statistics.

Returns
Context switch info structure

◆ get_fd_stats()

virtual fd_info kcenon::monitoring::platform::metrics_provider::get_fd_stats ( )
pure virtual

Get file descriptor statistics.

Returns
File descriptor info structure

◆ get_gpu_info()

virtual std::vector< gpu_info > kcenon::monitoring::platform::metrics_provider::get_gpu_info ( )
pure virtual

Get GPU information and metrics.

Returns
Vector of GPU info structures

◆ get_inode_stats()

virtual std::vector< inode_info > kcenon::monitoring::platform::metrics_provider::get_inode_stats ( )
pure virtual

Get inode statistics for all filesystems.

Returns
Vector of inode info structures

◆ get_interrupt_stats()

virtual std::vector< interrupt_info > kcenon::monitoring::platform::metrics_provider::get_interrupt_stats ( )
pure virtual

Get interrupt statistics.

Returns
Vector of interrupt info structures

◆ get_platform_name()

virtual std::string kcenon::monitoring::platform::metrics_provider::get_platform_name ( ) const
pure virtual

Get the platform name.

Returns
Platform identifier (e.g., "linux", "macos", "windows")

◆ get_power_info()

virtual power_info kcenon::monitoring::platform::metrics_provider::get_power_info ( )
pure virtual

Get power consumption information.

Returns
Power info structure

◆ get_security_info()

virtual security_info kcenon::monitoring::platform::metrics_provider::get_security_info ( )
pure virtual

Get security-related metrics.

Returns
Security info structure

◆ get_socket_buffer_stats()

virtual socket_buffer_info kcenon::monitoring::platform::metrics_provider::get_socket_buffer_stats ( )
pure virtual

Get socket buffer statistics.

Returns
Socket buffer info structure

◆ get_tcp_states()

virtual tcp_state_info kcenon::monitoring::platform::metrics_provider::get_tcp_states ( )
pure virtual

Get TCP connection state statistics.

Returns
TCP state info structure

◆ get_temperature_readings()

virtual std::vector< temperature_reading > kcenon::monitoring::platform::metrics_provider::get_temperature_readings ( )
pure virtual

Get temperature readings from all available sensors.

Returns
Vector of temperature readings

◆ get_uptime()

virtual uptime_info kcenon::monitoring::platform::metrics_provider::get_uptime ( )
pure virtual

Get system uptime information.

Returns
Uptime info structure

◆ is_battery_available()

virtual bool kcenon::monitoring::platform::metrics_provider::is_battery_available ( ) const
pure virtual

Check if battery monitoring is available.

Returns
True if battery metrics can be collected

◆ is_gpu_available()

virtual bool kcenon::monitoring::platform::metrics_provider::is_gpu_available ( ) const
pure virtual

Check if GPU monitoring is available.

Returns
True if GPU metrics can be collected

◆ is_power_available()

virtual bool kcenon::monitoring::platform::metrics_provider::is_power_available ( ) const
pure virtual

Check if power monitoring is available.

Returns
True if power metrics can be collected

◆ is_temperature_available()

virtual bool kcenon::monitoring::platform::metrics_provider::is_temperature_available ( ) const
pure virtual

Check if temperature monitoring is available.

Returns
True if temperature metrics can be collected

◆ operator=() [1/2]

metrics_provider & kcenon::monitoring::platform::metrics_provider::operator= ( const metrics_provider & )
delete

◆ operator=() [2/2]

metrics_provider & kcenon::monitoring::platform::metrics_provider::operator= ( metrics_provider && )
delete

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