Struct AlertRouter
pub struct AlertRouter {
sinks: Vec<Arc<dyn AlertSink>>,
dedup_cache: RwLock<RawRwLock, HashMap<String, Instant>>,
dedup_config: DeduplicationConfig,
alert_count: AtomicU64,
dedup_count: AtomicU64,
}Expand description
Alert router that sends alerts to multiple sinks.
Fields§
§sinks: Vec<Arc<dyn AlertSink>>§dedup_cache: RwLock<RawRwLock, HashMap<String, Instant>>§dedup_config: DeduplicationConfig§alert_count: AtomicU64§dedup_count: AtomicU64Implementations§
§impl AlertRouter
impl AlertRouter
pub fn new() -> AlertRouter
pub fn new() -> AlertRouter
Create a new alert router.
pub fn with_deduplication(self, config: DeduplicationConfig) -> AlertRouter
pub fn with_deduplication(self, config: DeduplicationConfig) -> AlertRouter
Set deduplication config.
pub fn with_sink<S>(self, sink: S) -> AlertRouterwhere
S: AlertSink + 'static,
pub fn with_sink<S>(self, sink: S) -> AlertRouterwhere
S: AlertSink + 'static,
Add a sink.
pub fn with_sink_arc(self, sink: Arc<dyn AlertSink>) -> AlertRouter
pub fn with_sink_arc(self, sink: Arc<dyn AlertSink>) -> AlertRouter
Add a sink (Arc version).
pub fn stats(&self) -> AlertRouterStats
pub fn stats(&self) -> AlertRouterStats
Get statistics.
Trait Implementations§
§impl Default for AlertRouter
impl Default for AlertRouter
§fn default() -> AlertRouter
fn default() -> AlertRouter
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !Freeze for AlertRouter
impl !RefUnwindSafe for AlertRouter
impl Send for AlertRouter
impl Sync for AlertRouter
impl Unpin for AlertRouter
impl !UnwindSafe for AlertRouter
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§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
§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
§fn deserialize(
&self,
deserializer: &mut D,
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§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.