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

Trigger based on value being within or outside a range. More...

#include <alert_triggers.h>

Inheritance diagram for kcenon::monitoring::range_trigger:
Inheritance graph
Collaboration diagram for kcenon::monitoring::range_trigger:
Collaboration graph

Public Member Functions

 range_trigger (double min_value, double max_value, bool inside_range)
 Construct a range trigger.
 
bool evaluate (double value) const override
 Evaluate the trigger condition.
 
std::string type_name () const override
 Get trigger type name.
 
std::string description () const override
 Get human-readable description.
 
- Public Member Functions inherited from kcenon::monitoring::alert_trigger
virtual ~alert_trigger ()=default
 

Private Attributes

double min_value_
 
double max_value_
 
bool inside_range_
 

Detailed Description

Trigger based on value being within or outside a range.

Definition at line 178 of file alert_triggers.h.

Constructor & Destructor Documentation

◆ range_trigger()

kcenon::monitoring::range_trigger::range_trigger ( double min_value,
double max_value,
bool inside_range )
inline

Construct a range trigger.

Parameters
min_valueMinimum value of range
max_valueMaximum value of range
inside_rangeTrue to trigger when inside, false when outside
Examples
/home/runner/work/monitoring_system/monitoring_system/include/kcenon/monitoring/alert/alert_triggers.h.

Definition at line 186 of file alert_triggers.h.

Member Function Documentation

◆ description()

std::string kcenon::monitoring::range_trigger::description ( ) const
inlineoverridevirtual

Get human-readable description.

Returns
Description string

Implements kcenon::monitoring::alert_trigger.

Examples
/home/runner/work/monitoring_system/monitoring_system/include/kcenon/monitoring/alert/alert_triggers.h.

Definition at line 200 of file alert_triggers.h.

200 {
201 if (inside_range_) {
202 return "value in [" + std::to_string(min_value_) + ", " +
203 std::to_string(max_value_) + "]";
204 }
205 return "value outside [" + std::to_string(min_value_) + ", " +
206 std::to_string(max_value_) + "]";
207 }

References inside_range_, max_value_, and min_value_.

◆ evaluate()

bool kcenon::monitoring::range_trigger::evaluate ( double value) const
inlineoverridevirtual

Evaluate the trigger condition.

Parameters
valueCurrent metric value
Returns
True if trigger condition is met

Implements kcenon::monitoring::alert_trigger.

Examples
/home/runner/work/monitoring_system/monitoring_system/include/kcenon/monitoring/alert/alert_triggers.h.

Definition at line 191 of file alert_triggers.h.

191 {
192 bool in_range = (value >= min_value_ && value <= max_value_);
193 return inside_range_ ? in_range : !in_range;
194 }

References inside_range_, max_value_, and min_value_.

◆ type_name()

std::string kcenon::monitoring::range_trigger::type_name ( ) const
inlineoverridevirtual

Get trigger type name.

Returns
Type name string

Implements kcenon::monitoring::alert_trigger.

Examples
/home/runner/work/monitoring_system/monitoring_system/include/kcenon/monitoring/alert/alert_triggers.h.

Definition at line 196 of file alert_triggers.h.

196 {
197 return "range";
198 }

Member Data Documentation

◆ inside_range_

bool kcenon::monitoring::range_trigger::inside_range_
private

◆ max_value_

double kcenon::monitoring::range_trigger::max_value_
private

◆ min_value_

double kcenon::monitoring::range_trigger::min_value_
private

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