pub struct Alert {
pub id: u64,
pub severity: AlertSeverity,
pub title: String,
pub description: Option<String>,
pub source: Option<String>,
pub timestamp: SystemTime,
pub dedup_key: Option<String>,
pub metadata: HashMap<String, String>,
pub tags: Vec<String>,
}Expand description
An alert to be routed to sinks.
Fields§
§id: u64Unique alert ID.
severity: AlertSeverityAlert severity.
title: StringAlert title/summary.
description: Option<String>Detailed description.
source: Option<String>Source of the alert (kernel ID, component name, etc.).
timestamp: SystemTimeWhen the alert was created.
dedup_key: Option<String>Deduplication key (alerts with same key within window are deduplicated).
metadata: HashMap<String, String>Additional metadata.
Alert tags for filtering.
Implementations§
Source§impl Alert
impl Alert
Sourcepub fn new(severity: AlertSeverity, title: impl Into<String>) -> Self
pub fn new(severity: AlertSeverity, title: impl Into<String>) -> Self
Create a new alert.
Sourcepub fn with_description(self, description: impl Into<String>) -> Self
pub fn with_description(self, description: impl Into<String>) -> Self
Add a description.
Sourcepub fn with_source(self, source: impl Into<String>) -> Self
pub fn with_source(self, source: impl Into<String>) -> Self
Add a source.
Sourcepub fn with_dedup_key(self, key: impl Into<String>) -> Self
pub fn with_dedup_key(self, key: impl Into<String>) -> Self
Add a deduplication key.
Sourcepub fn with_metadata(
self,
key: impl Into<String>,
value: impl Into<String>,
) -> Self
pub fn with_metadata( self, key: impl Into<String>, value: impl Into<String>, ) -> Self
Add metadata.
Add multiple tags.
Sourcepub fn timestamp_millis(&self) -> u64
pub fn timestamp_millis(&self) -> u64
Get timestamp as Unix milliseconds.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Alert
impl RefUnwindSafe for Alert
impl Send for Alert
impl Sync for Alert
impl Unpin for Alert
impl UnwindSafe for Alert
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.