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

Configuration for metric storage. More...

#include <metric_storage.h>

Collaboration diagram for kcenon::monitoring::metric_storage_config:
Collaboration graph

Public Member Functions

common::VoidResult validate () const
 Validate configuration.
 

Public Attributes

size_t ring_buffer_capacity = 8192
 
size_t max_metrics = 10000
 
bool enable_background_processing = true
 
std::chrono::milliseconds flush_interval {1000}
 
size_t time_series_max_points = 3600
 
std::chrono::seconds retention_period {3600}
 

Detailed Description

Configuration for metric storage.

Definition at line 36 of file metric_storage.h.

Member Function Documentation

◆ validate()

common::VoidResult kcenon::monitoring::metric_storage_config::validate ( ) const
inline

Validate configuration.

Definition at line 47 of file metric_storage.h.

47 {
49 return common::VoidResult::err(error_info(monitoring_error_code::invalid_configuration,
50 "Ring buffer capacity must be a power of 2").to_common_error());
51 }
52
53 if (max_metrics == 0) {
54 return common::VoidResult::err(error_info(monitoring_error_code::invalid_configuration,
55 "Max metrics must be positive").to_common_error());
56 }
57
58 if (time_series_max_points == 0) {
59 return common::VoidResult::err(error_info(monitoring_error_code::invalid_configuration,
60 "Time series max points must be positive").to_common_error());
61 }
62
63 if (retention_period.count() <= 0) {
64 return common::VoidResult::err(error_info(monitoring_error_code::invalid_configuration,
65 "Retention period must be positive").to_common_error());
66 }
67
68 return common::ok();
69 }

References kcenon::monitoring::invalid_configuration, max_metrics, retention_period, ring_buffer_capacity, and time_series_max_points.

Referenced by TEST_F().

Here is the caller graph for this function:

Member Data Documentation

◆ enable_background_processing

bool kcenon::monitoring::metric_storage_config::enable_background_processing = true

Definition at line 39 of file metric_storage.h.

Referenced by TEST_F(), TEST_F(), and TEST_F().

◆ flush_interval

std::chrono::milliseconds kcenon::monitoring::metric_storage_config::flush_interval {1000}

Definition at line 40 of file metric_storage.h.

40{1000}; // Background flush interval

Referenced by kcenon::monitoring::metric_storage::background_processor().

◆ max_metrics

size_t kcenon::monitoring::metric_storage_config::max_metrics = 10000

◆ retention_period

std::chrono::seconds kcenon::monitoring::metric_storage_config::retention_period {3600}

Definition at line 42 of file metric_storage.h.

42{3600}; // Data retention period

Referenced by kcenon::monitoring::metric_storage::get_or_create_series(), and validate().

◆ ring_buffer_capacity

size_t kcenon::monitoring::metric_storage_config::ring_buffer_capacity = 8192

◆ time_series_max_points

size_t kcenon::monitoring::metric_storage_config::time_series_max_points = 3600

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