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

Formats alerts as human-readable text. More...

#include <alert_notifiers.h>

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

Public Member Functions

std::string format (const alert &a) const override
 Format a single alert.
 
std::string format_group (const alert_group &group) const override
 Format an alert group.
 
- Public Member Functions inherited from kcenon::monitoring::alert_formatter
virtual ~alert_formatter ()=default
 

Detailed Description

Formats alerts as human-readable text.

Examples
alert_notifiers_example.cpp.

Definition at line 154 of file alert_notifiers.h.

Member Function Documentation

◆ format()

std::string kcenon::monitoring::text_alert_formatter::format ( const alert & a) const
inlineoverridevirtual

Format a single alert.

Parameters
aAlert to format
Returns
Formatted string

Implements kcenon::monitoring::alert_formatter.

Examples
/home/runner/work/monitoring_system/monitoring_system/include/kcenon/monitoring/alert/alert_notifiers.h, and alert_notifiers_example.cpp.

Definition at line 156 of file alert_notifiers.h.

156 {
157 std::ostringstream oss;
158 oss << "[" << alert_state_to_string(a.state) << "] "
159 << a.name << " (" << alert_severity_to_string(a.severity) << ")\n"
160 << " Summary: " << a.annotations.summary << "\n"
161 << " Value: " << a.value << "\n"
162 << " Fingerprint: " << a.fingerprint();
163 return oss.str();
164 }
constexpr const char * alert_state_to_string(alert_state state) noexcept
Convert alert state to string.
Definition alert_types.h:82
constexpr const char * alert_severity_to_string(alert_severity severity) noexcept
Convert alert severity to string.
Definition alert_types.h:47

References kcenon::monitoring::alert_severity_to_string(), kcenon::monitoring::alert_state_to_string(), kcenon::monitoring::alert::annotations, kcenon::monitoring::alert::fingerprint(), kcenon::monitoring::alert::name, kcenon::monitoring::alert::severity, kcenon::monitoring::alert::state, kcenon::monitoring::alert_annotations::summary, and kcenon::monitoring::alert::value.

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ format_group()

std::string kcenon::monitoring::text_alert_formatter::format_group ( const alert_group & group) const
inlineoverridevirtual

Format an alert group.

Parameters
groupAlert group to format
Returns
Formatted string

Implements kcenon::monitoring::alert_formatter.

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

Definition at line 166 of file alert_notifiers.h.

166 {
167 std::ostringstream oss;
168 oss << "Alert Group: " << group.group_key << "\n"
169 << " Total alerts: " << group.size() << "\n"
170 << " Max severity: " << alert_severity_to_string(group.max_severity()) << "\n"
171 << " Alerts:\n";
172 for (const auto& a : group.alerts) {
173 oss << " - " << a.name << " (" << alert_state_to_string(a.state) << ")\n";
174 }
175 return oss.str();
176 }

References kcenon::monitoring::alert_severity_to_string(), kcenon::monitoring::alert_state_to_string(), kcenon::monitoring::alert_group::alerts, kcenon::monitoring::alert_group::group_key, kcenon::monitoring::alert_group::max_severity(), and kcenon::monitoring::alert_group::size().

Here is the call graph for this function:

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