|
Monitoring System 0.1.0
System resource monitoring with pluggable collectors and alerting
|
Combines multiple triggers with logical operations. More...
#include <alert_triggers.h>


Public Member Functions | |
| composite_trigger (composite_operation op, std::vector< std::shared_ptr< alert_trigger > > triggers) | |
| Construct a composite trigger. | |
| bool | evaluate (double value) const override |
| Evaluate with a single value (applies to all triggers) | |
| bool | evaluate_multi (const std::vector< double > &values) const |
| Evaluate with multiple values (one per trigger) | |
| std::string | type_name () const override |
| Get trigger type name. | |
| std::string | description () const override |
| Get human-readable description. | |
| const std::vector< std::shared_ptr< alert_trigger > > & | triggers () const |
| Get child triggers. | |
Public Member Functions inherited from kcenon::monitoring::alert_trigger | |
| virtual | ~alert_trigger ()=default |
Static Public Member Functions | |
| static std::shared_ptr< composite_trigger > | all_of (std::vector< std::shared_ptr< alert_trigger > > triggers) |
| Create AND composite. | |
| static std::shared_ptr< composite_trigger > | any_of (std::vector< std::shared_ptr< alert_trigger > > triggers) |
| Create OR composite. | |
| static std::shared_ptr< composite_trigger > | invert (std::shared_ptr< alert_trigger > trigger) |
| Create NOT composite. | |
Private Attributes | |
| composite_operation | operation_ |
| std::vector< std::shared_ptr< alert_trigger > > | triggers_ |
Combines multiple triggers with logical operations.
Allows building complex alert conditions by combining simpler triggers using AND, OR, XOR, and NOT operations.
Definition at line 528 of file alert_triggers.h.
|
inline |
Construct a composite trigger.
| op | Logical operation |
| triggers | Child triggers |
Definition at line 535 of file alert_triggers.h.
|
inlinestatic |
Create AND composite.
Definition at line 619 of file alert_triggers.h.
References kcenon::monitoring::AND, and triggers().
Referenced by main(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().


|
inlinestatic |
Create OR composite.
Definition at line 628 of file alert_triggers.h.
References kcenon::monitoring::OR, and triggers().
Referenced by main(), and TEST_F().


|
inlineoverridevirtual |
Get human-readable description.
Implements kcenon::monitoring::alert_trigger.
Definition at line 588 of file alert_triggers.h.
References kcenon::monitoring::AND, kcenon::monitoring::NOT, operation_, kcenon::monitoring::OR, triggers_, and kcenon::monitoring::XOR.
|
inlineoverridevirtual |
Evaluate with a single value (applies to all triggers)
Implements kcenon::monitoring::alert_trigger.
Definition at line 543 of file alert_triggers.h.
References evaluate_multi(), and triggers_.
Referenced by evaluate_multi().


|
inline |
Evaluate with multiple values (one per trigger)
| values | Values for each trigger in order |
Definition at line 553 of file alert_triggers.h.
References kcenon::monitoring::AND, evaluate(), kcenon::monitoring::NOT, operation_, kcenon::monitoring::OR, triggers_, and kcenon::monitoring::XOR.
Referenced by evaluate().


|
inlinestatic |
Create NOT composite.
Definition at line 637 of file alert_triggers.h.
References kcenon::monitoring::NOT.
Referenced by main(), TEST_F(), and TEST_F().

|
inline |
Get child triggers.
Definition at line 611 of file alert_triggers.h.
References triggers_.
Referenced by all_of(), and any_of().

|
inlineoverridevirtual |
Get trigger type name.
Implements kcenon::monitoring::alert_trigger.
Definition at line 584 of file alert_triggers.h.
|
private |
Definition at line 644 of file alert_triggers.h.
Referenced by description(), and evaluate_multi().
|
private |
Definition at line 645 of file alert_triggers.h.
Referenced by description(), evaluate(), evaluate_multi(), and triggers().