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

Configuration for metric collection. More...

#include <metric_collector_interface.h>

Collaboration diagram for kcenon::monitoring::collection_config:
Collaboration graph

Public Member Functions

common::VoidResult validate () const
 Validate the configuration.
 

Public Attributes

std::chrono::milliseconds interval {std::chrono::seconds(1)}
 
metric_filter filter
 
bool batch_collection {false}
 
size_t batch_size {100}
 
bool async_collection {true}
 

Detailed Description

Configuration for metric collection.

This struct satisfies the concepts::Validatable concept, providing a validate() method for configuration validation.

Thread Safety:
This struct is NOT thread-safe. Configuration should be set before starting collection or protected by external synchronization.
Examples
event_bus_example.cpp.

Definition at line 181 of file metric_collector_interface.h.

Member Function Documentation

◆ validate()

common::VoidResult kcenon::monitoring::collection_config::validate ( ) const
inlinenodiscard

Validate the configuration.

Returns
Result indicating success or validation errors

Validates:

  • Collection interval must be positive
  • Batch size must be positive when batch collection is enabled
Examples
/home/runner/work/monitoring_system/monitoring_system/include/kcenon/monitoring/interfaces/metric_collector_interface.h.

Definition at line 196 of file metric_collector_interface.h.

196 {
197 if (interval.count() <= 0) {
198 return common::VoidResult::err(error_info(monitoring_error_code::invalid_configuration, "Collection interval must be positive").to_common_error());
199 }
200 if (batch_collection && batch_size == 0) {
201 return common::VoidResult::err(error_info(monitoring_error_code::invalid_configuration, "Batch size must be positive when batch collection is enabled").to_common_error());
202 }
203 return common::ok();
204 }

References batch_collection, batch_size, interval, and kcenon::monitoring::invalid_configuration.

Member Data Documentation

◆ async_collection

bool kcenon::monitoring::collection_config::async_collection {true}

◆ batch_collection

bool kcenon::monitoring::collection_config::batch_collection {false}

◆ batch_size

size_t kcenon::monitoring::collection_config::batch_size {100}

◆ filter

◆ interval

std::chrono::milliseconds kcenon::monitoring::collection_config::interval {std::chrono::seconds(1)}

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