|
Monitoring System 0.1.0
System resource monitoring with pluggable collectors and alerting
|
State validator for validating system state. More...
#include <data_consistency.h>

Classes | |
| struct | validation_rule |
Public Types | |
| using | validation_func_t = std::function<validation_result()> |
| using | repair_func_t = std::function<common::VoidResult()> |
Public Member Functions | |
| state_validator (const std::string &name, const validation_config &config) | |
| ~state_validator () | |
| state_validator (const state_validator &)=delete | |
| state_validator & | operator= (const state_validator &)=delete |
| state_validator (state_validator &&)=delete | |
| state_validator & | operator= (state_validator &&)=delete |
| std::string | get_name () const |
| bool | add_validation_rule (const std::string &name, validation_func_t validation_func, repair_func_t repair_func=nullptr) |
| common::Result< std::unordered_map< std::string, validation_result > > | validate () |
| common::VoidResult | start () |
| common::VoidResult | stop () |
| common::Result< bool > | is_healthy () const |
| validation_metrics & | get_metrics () |
| const validation_metrics & | get_metrics () const |
Private Attributes | |
| std::string | name_ |
| validation_config | config_ |
| std::mutex | mutex_ |
| std::unordered_map< std::string, validation_rule > | validation_rules_ |
| validation_metrics | metrics_ |
| std::atomic< bool > | running_ |
| std::thread | validation_thread_ |
| std::mutex | cv_mutex_ |
| std::condition_variable | cv_ |
State validator for validating system state.
Definition at line 350 of file data_consistency.h.
| using kcenon::monitoring::state_validator::repair_func_t = std::function<common::VoidResult()> |
Definition at line 353 of file data_consistency.h.
| using kcenon::monitoring::state_validator::validation_func_t = std::function<validation_result()> |
Definition at line 352 of file data_consistency.h.
|
inline |
Definition at line 355 of file data_consistency.h.
|
inline |
Definition at line 360 of file data_consistency.h.
References stop().

|
delete |
|
delete |
|
inline |
Definition at line 372 of file data_consistency.h.
References mutex_, and validation_rules_.
Referenced by TEST_F(), TEST_F(), and TEST_F().

|
inline |
Definition at line 453 of file data_consistency.h.
References metrics_.
Referenced by TEST_F().

|
inline |
|
inline |
|
inline |
Definition at line 448 of file data_consistency.h.
Referenced by TEST_F().

|
delete |
|
delete |
|
inline |
Definition at line 406 of file data_consistency.h.
References kcenon::monitoring::already_started, config_, cv_, cv_mutex_, running_, validate(), kcenon::monitoring::validation_config::validation_interval, and validation_thread_.
Referenced by TEST_F().


|
inline |
Definition at line 431 of file data_consistency.h.
References cv_, cv_mutex_, running_, and validation_thread_.
Referenced by TEST_F(), and ~state_validator().

|
inline |
Definition at line 380 of file data_consistency.h.
References config_, kcenon::monitoring::validation_config::enable_auto_repair, kcenon::monitoring::invalid, metrics_, mutex_, kcenon::monitoring::validation_metrics::repair_operations, validation_rules_, and kcenon::monitoring::validation_metrics::validation_runs.
Referenced by start(), TEST_F(), and TEST_F().

|
private |
Definition at line 463 of file data_consistency.h.
Referenced by start(), and validate().
|
private |
Definition at line 471 of file data_consistency.h.
|
private |
Definition at line 470 of file data_consistency.h.
|
private |
Definition at line 466 of file data_consistency.h.
Referenced by get_metrics(), get_metrics(), and validate().
|
private |
Definition at line 464 of file data_consistency.h.
Referenced by add_validation_rule(), and validate().
|
private |
Definition at line 462 of file data_consistency.h.
Referenced by get_name().
|
private |
Definition at line 468 of file data_consistency.h.
|
private |
Definition at line 465 of file data_consistency.h.
Referenced by add_validation_rule(), and validate().
|
private |
Definition at line 469 of file data_consistency.h.