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

Configuration for stream aggregator. More...

#include <stream_aggregator.h>

Collaboration diagram for kcenon::monitoring::stream_aggregator_config:
Collaboration graph

Public Member Functions

common::VoidResult validate () const
 Validate configuration.
 

Public Attributes

size_t window_size = 10000
 
std::chrono::milliseconds window_duration {60000}
 
bool enable_outlier_detection = true
 
double outlier_threshold = 3.0
 
std::vector< double > percentiles_to_track = {0.5, 0.9, 0.95, 0.99}
 

Detailed Description

Configuration for stream aggregator.

Definition at line 489 of file stream_aggregator.h.

Member Function Documentation

◆ validate()

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

Validate configuration.

Definition at line 499 of file stream_aggregator.h.

499 {
500 if (window_size == 0) {
501 return common::VoidResult::err(error_info(monitoring_error_code::invalid_configuration,
502 "Window size must be positive").to_common_error());
503 }
504 if (window_duration.count() <= 0) {
505 return common::VoidResult::err(error_info(monitoring_error_code::invalid_configuration,
506 "Window duration must be positive").to_common_error());
507 }
508 if (outlier_threshold <= 0) {
509 return common::VoidResult::err(error_info(monitoring_error_code::invalid_configuration,
510 "Outlier threshold must be positive").to_common_error());
511 }
512 return common::ok();
513 }

References kcenon::monitoring::invalid_configuration, outlier_threshold, window_duration, and window_size.

Referenced by TEST_F().

Here is the caller graph for this function:

Member Data Documentation

◆ enable_outlier_detection

bool kcenon::monitoring::stream_aggregator_config::enable_outlier_detection = true

◆ outlier_threshold

double kcenon::monitoring::stream_aggregator_config::outlier_threshold = 3.0

◆ percentiles_to_track

std::vector<double> kcenon::monitoring::stream_aggregator_config::percentiles_to_track = {0.5, 0.9, 0.95, 0.99}

◆ window_duration

std::chrono::milliseconds kcenon::monitoring::stream_aggregator_config::window_duration {60000}

Definition at line 491 of file stream_aggregator.h.

491{60000};

Referenced by TEST_F(), and validate().

◆ window_size

size_t kcenon::monitoring::stream_aggregator_config::window_size = 10000

Definition at line 490 of file stream_aggregator.h.

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


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