|
Monitoring System 0.1.0
System resource monitoring with pluggable collectors and alerting
|
Core alert data structure. More...
#include <alert_types.h>

Public Member Functions | |
| alert () | |
| Default constructor. | |
| alert (std::string alert_name, alert_labels lbl) | |
| Construct with name and labels. | |
| std::string | fingerprint () const |
| Get alert fingerprint for deduplication. | |
| bool | is_active () const |
| Check if alert is currently active (pending or firing) | |
| std::chrono::steady_clock::duration | state_duration () const |
| Get duration in current state. | |
| std::chrono::steady_clock::duration | firing_duration () const |
| Get firing duration (if currently firing) | |
| bool | transition_to (alert_state new_state) |
| Transition to a new state. | |
Public Attributes | |
| std::string | name |
| Alert name/identifier. | |
| alert_labels | labels |
| Identifying labels. | |
| alert_annotations | annotations |
| Descriptive annotations. | |
| alert_severity | severity = alert_severity::warning |
| Alert severity level. | |
| alert_state | state = alert_state::inactive |
| Current state. | |
| double | value = 0.0 |
| Current metric value. | |
| std::chrono::steady_clock::time_point | created_at |
| When alert was created. | |
| std::chrono::steady_clock::time_point | updated_at |
| Last state change. | |
| std::optional< std::chrono::steady_clock::time_point > | started_at |
| When firing started. | |
| std::optional< std::chrono::steady_clock::time_point > | resolved_at |
| When resolved. | |
| uint64_t | id = 0 |
| Unique alert ID. | |
| std::string | rule_name |
| Name of triggering rule. | |
| std::string | group_key |
| Grouping key for dedup. | |
Static Private Member Functions | |
| static uint64_t | generate_id () |
| static bool | is_valid_transition (alert_state from, alert_state to) |
| Check if state transition is valid. | |
Core alert data structure.
Represents a single alert instance with its current state, metadata, and lifecycle timestamps.
Definition at line 185 of file alert_types.h.
|
inline |
Default constructor.
Definition at line 205 of file alert_types.h.
|
inline |
Construct with name and labels.
| alert_name | Alert name |
| alert_labels | Alert labels |
Definition at line 215 of file alert_types.h.
|
inline |
Get alert fingerprint for deduplication.
Definition at line 226 of file alert_types.h.
References kcenon::monitoring::alert_labels::fingerprint(), labels, and name.
Referenced by kcenon::monitoring::alert_aggregator::add_alert(), kcenon::monitoring::json_alert_formatter::format(), kcenon::monitoring::text_alert_formatter::format(), kcenon::monitoring::alert_deduplicator::is_duplicate(), kcenon::monitoring::alert_inhibitor::is_inhibited(), kcenon::monitoring::alert_deduplicator::mark_seen(), and kcenon::monitoring::alert_template::render().


|
inline |
Get firing duration (if currently firing)
Definition at line 250 of file alert_types.h.
References kcenon::monitoring::firing, started_at, and state.
Referenced by TEST_F().

|
inlinestaticprivate |
|
inline |
Check if alert is currently active (pending or firing)
Definition at line 234 of file alert_types.h.
References kcenon::monitoring::firing, kcenon::monitoring::pending, and state.
Referenced by TEST_F().

|
inlinestaticprivate |
Check if state transition is valid.
Definition at line 289 of file alert_types.h.
References kcenon::monitoring::firing, kcenon::monitoring::inactive, kcenon::monitoring::pending, kcenon::monitoring::resolved, and kcenon::monitoring::suppressed.
Referenced by transition_to().

|
inline |
Get duration in current state.
Definition at line 242 of file alert_types.h.
References updated_at.
Referenced by TEST_F().

|
inline |
Transition to a new state.
| new_state | The new state |
Definition at line 262 of file alert_types.h.
References kcenon::monitoring::firing, is_valid_transition(), kcenon::monitoring::resolved, resolved_at, started_at, state, and updated_at.

| alert_annotations kcenon::monitoring::alert::annotations |
Descriptive annotations.
Definition at line 188 of file alert_types.h.
Referenced by kcenon::monitoring::alert_rule::create_alert(), kcenon::monitoring::create_sample_alert(), kcenon::monitoring::json_alert_formatter::format(), kcenon::monitoring::text_alert_formatter::format(), kcenon::monitoring::console_color_notifier::notify(), and kcenon::monitoring::alert_template::render().
| std::chrono::steady_clock::time_point kcenon::monitoring::alert::created_at |
When alert was created.
Definition at line 193 of file alert_types.h.
| std::string kcenon::monitoring::alert::group_key |
Grouping key for dedup.
Definition at line 200 of file alert_types.h.
Referenced by kcenon::monitoring::alert_rule::create_alert(), and kcenon::monitoring::alert_template::render().
| uint64_t kcenon::monitoring::alert::id = 0 |
| alert_labels kcenon::monitoring::alert::labels |
Identifying labels.
Definition at line 187 of file alert_types.h.
Referenced by kcenon::monitoring::alert_aggregator::compute_group_key(), kcenon::monitoring::create_sample_alert(), kcenon::monitoring::alert_aggregator::extract_common_labels(), fingerprint(), kcenon::monitoring::json_alert_formatter::format(), main(), kcenon::monitoring::alert_silence::matches(), kcenon::monitoring::inhibition_rule::matches_source(), kcenon::monitoring::alert_template::render(), kcenon::monitoring::routing_notifier::route_by_label(), kcenon::monitoring::inhibition_rule::should_inhibit(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().
| std::string kcenon::monitoring::alert::name |
Alert name/identifier.
Definition at line 186 of file alert_types.h.
Referenced by kcenon::monitoring::create_sample_alert(), fingerprint(), kcenon::monitoring::json_alert_formatter::format(), kcenon::monitoring::text_alert_formatter::format(), main(), kcenon::monitoring::console_color_notifier::notify(), print_alert_state(), kcenon::monitoring::alert_template::render(), and TEST_F().
| std::optional<std::chrono::steady_clock::time_point> kcenon::monitoring::alert::resolved_at |
When resolved.
Definition at line 196 of file alert_types.h.
Referenced by TEST_F(), and transition_to().
| std::string kcenon::monitoring::alert::rule_name |
Name of triggering rule.
Definition at line 199 of file alert_types.h.
Referenced by kcenon::monitoring::alert_aggregator::compute_group_key(), kcenon::monitoring::alert_rule::create_alert(), kcenon::monitoring::create_sample_alert(), and kcenon::monitoring::alert_template::render().
| alert_severity kcenon::monitoring::alert::severity = alert_severity::warning |
Alert severity level.
Definition at line 189 of file alert_types.h.
Referenced by kcenon::monitoring::alert_rule::create_alert(), kcenon::monitoring::create_sample_alert(), AlertTest::create_test_alert(), kcenon::monitoring::json_alert_formatter::format(), kcenon::monitoring::text_alert_formatter::format(), main(), kcenon::monitoring::console_color_notifier::notify(), kcenon::monitoring::statistics_notifier::notify(), print_alert_state(), kcenon::monitoring::alert_template::render(), kcenon::monitoring::routing_notifier::route_by_severity(), TEST_F(), TEST_F(), and TEST_F().
| std::optional<std::chrono::steady_clock::time_point> kcenon::monitoring::alert::started_at |
When firing started.
Definition at line 195 of file alert_types.h.
Referenced by firing_duration(), TEST_F(), and transition_to().
| alert_state kcenon::monitoring::alert::state = alert_state::inactive |
Current state.
Definition at line 190 of file alert_types.h.
Referenced by kcenon::monitoring::create_sample_alert(), firing_duration(), kcenon::monitoring::json_alert_formatter::format(), kcenon::monitoring::text_alert_formatter::format(), is_active(), kcenon::monitoring::alert_deduplicator::is_duplicate(), main(), kcenon::monitoring::alert_deduplicator::mark_seen(), kcenon::monitoring::console_color_notifier::notify(), kcenon::monitoring::statistics_notifier::notify(), kcenon::monitoring::webhook_notifier::notify(), print_alert_state(), kcenon::monitoring::alert_template::render(), TEST_F(), TEST_F(), and transition_to().
| std::chrono::steady_clock::time_point kcenon::monitoring::alert::updated_at |
Last state change.
Definition at line 194 of file alert_types.h.
Referenced by state_duration(), and transition_to().
| double kcenon::monitoring::alert::value = 0.0 |
Current metric value.
Definition at line 191 of file alert_types.h.
Referenced by kcenon::monitoring::alert_rule::create_alert(), kcenon::monitoring::create_sample_alert(), AlertTest::create_test_alert(), kcenon::monitoring::json_alert_formatter::format(), kcenon::monitoring::text_alert_formatter::format(), main(), kcenon::monitoring::console_color_notifier::notify(), print_alert_state(), kcenon::monitoring::alert_template::render(), and TEST_F().