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

Context switch data collector using platform abstraction layer. More...

#include <process_metrics_collector.h>

Collaboration diagram for kcenon::monitoring::context_switch_info_collector:
Collaboration graph

Public Member Functions

 context_switch_info_collector ()
 
 ~context_switch_info_collector ()
 
 context_switch_info_collector (const context_switch_info_collector &)=delete
 
context_switch_info_collectoroperator= (const context_switch_info_collector &)=delete
 
 context_switch_info_collector (context_switch_info_collector &&)=delete
 
context_switch_info_collectoroperator= (context_switch_info_collector &&)=delete
 
bool is_context_switch_monitoring_available () const
 
context_switch_metrics collect_metrics ()
 

Private Member Functions

double calculate_rate (uint64_t current_switches)
 

Private Attributes

std::unique_ptr< platform::metrics_providerprovider_
 
uint64_t last_system_switches_ {0}
 
std::chrono::steady_clock::time_point last_collection_time_
 
bool has_previous_sample_ {false}
 

Detailed Description

Context switch data collector using platform abstraction layer.

Definition at line 197 of file process_metrics_collector.h.

Constructor & Destructor Documentation

◆ context_switch_info_collector() [1/3]

kcenon::monitoring::context_switch_info_collector::context_switch_info_collector ( )

◆ ~context_switch_info_collector()

kcenon::monitoring::context_switch_info_collector::~context_switch_info_collector ( )

◆ context_switch_info_collector() [2/3]

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

◆ context_switch_info_collector() [3/3]

kcenon::monitoring::context_switch_info_collector::context_switch_info_collector ( context_switch_info_collector && )
delete

Member Function Documentation

◆ calculate_rate()

double kcenon::monitoring::context_switch_info_collector::calculate_rate ( uint64_t current_switches)
private

◆ collect_metrics()

context_switch_metrics kcenon::monitoring::context_switch_info_collector::collect_metrics ( )

◆ is_context_switch_monitoring_available()

bool kcenon::monitoring::context_switch_info_collector::is_context_switch_monitoring_available ( ) const

◆ operator=() [1/2]

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

◆ operator=() [2/2]

context_switch_info_collector & kcenon::monitoring::context_switch_info_collector::operator= ( context_switch_info_collector && )
delete

Member Data Documentation

◆ has_previous_sample_

bool kcenon::monitoring::context_switch_info_collector::has_previous_sample_ {false}
private

Definition at line 214 of file process_metrics_collector.h.

214{false};

◆ last_collection_time_

std::chrono::steady_clock::time_point kcenon::monitoring::context_switch_info_collector::last_collection_time_
private

Definition at line 213 of file process_metrics_collector.h.

◆ last_system_switches_

uint64_t kcenon::monitoring::context_switch_info_collector::last_system_switches_ {0}
private

Definition at line 212 of file process_metrics_collector.h.

212{0};

◆ provider_

std::unique_ptr<platform::metrics_provider> kcenon::monitoring::context_switch_info_collector::provider_
private

Definition at line 211 of file process_metrics_collector.h.


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