Logger System 0.1.3
High-performance C++20 thread-safe logging system with asynchronous capabilities
Loading...
Searching...
No Matches
kcenon::logger::monitoring_data Class Reference

Collection of metrics. More...

#include <monitoring_interface.h>

Collaboration diagram for kcenon::logger::monitoring_data:
Collaboration graph

Public Member Functions

 monitoring_data ()
 
void add_metric (const std::string &name, double value, metric_type type=metric_type::gauge)
 Add a metric to the collection.
 
void add_metric (const metric_value &metric)
 Add a pre-built metric.
 
const std::vector< metric_value > & get_metrics () const
 Get all metrics.
 
std::chrono::system_clock::time_point get_collection_time () const
 Get collection timestamp.
 
void clear ()
 Clear all metrics.
 
size_t size () const
 Get number of metrics.
 

Private Attributes

std::vector< metric_valuemetrics_
 
std::chrono::system_clock::time_point collection_time_
 

Detailed Description

Collection of metrics.

Definition at line 65 of file monitoring_interface.h.

Constructor & Destructor Documentation

◆ monitoring_data()

kcenon::logger::monitoring_data::monitoring_data ( )
inline

Definition at line 71 of file monitoring_interface.h.

71: collection_time_(std::chrono::system_clock::now()) {}
std::chrono::system_clock::time_point collection_time_

Member Function Documentation

◆ add_metric() [1/2]

void kcenon::logger::monitoring_data::add_metric ( const metric_value & metric)
inline

Add a pre-built metric.

Parameters
metricThe metric to add

Definition at line 88 of file monitoring_interface.h.

88 {
89 metrics_.push_back(metric);
90 }
std::vector< metric_value > metrics_

References metrics_.

◆ add_metric() [2/2]

void kcenon::logger::monitoring_data::add_metric ( const std::string & name,
double value,
metric_type type = metric_type::gauge )
inline

Add a metric to the collection.

Parameters
nameMetric name
valueMetric value
typeMetric type

Definition at line 79 of file monitoring_interface.h.

80 {
81 metrics_.emplace_back(name, value, type);
82 }

References metrics_.

Referenced by kcenon::logger::basic_monitor::collect_metrics(), and kcenon::logger::thread_system_monitor_adapter::collect_metrics().

Here is the caller graph for this function:

◆ clear()

void kcenon::logger::monitoring_data::clear ( )
inline

Clear all metrics.

Definition at line 111 of file monitoring_interface.h.

111 {
112 metrics_.clear();
113 }

References metrics_.

◆ get_collection_time()

std::chrono::system_clock::time_point kcenon::logger::monitoring_data::get_collection_time ( ) const
inline

Get collection timestamp.

Returns
Time when metrics were collected

Definition at line 104 of file monitoring_interface.h.

104 {
105 return collection_time_;
106 }

References collection_time_.

◆ get_metrics()

const std::vector< metric_value > & kcenon::logger::monitoring_data::get_metrics ( ) const
inline

Get all metrics.

Returns
Vector of metrics

Definition at line 96 of file monitoring_interface.h.

96 {
97 return metrics_;
98 }

References metrics_.

◆ size()

size_t kcenon::logger::monitoring_data::size ( ) const
inline

Get number of metrics.

Returns
Number of metrics in collection

Definition at line 119 of file monitoring_interface.h.

119 {
120 return metrics_.size();
121 }

References metrics_.

Member Data Documentation

◆ collection_time_

std::chrono::system_clock::time_point kcenon::logger::monitoring_data::collection_time_
private

Definition at line 68 of file monitoring_interface.h.

Referenced by get_collection_time().

◆ metrics_

std::vector<metric_value> kcenon::logger::monitoring_data::metrics_
private

Definition at line 67 of file monitoring_interface.h.

Referenced by add_metric(), add_metric(), clear(), get_metrics(), and size().


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