Monitor

Trait Monitor 

Source
pub trait Monitor: Send + Sync {
    // Required methods
    fn record_metric(&mut self, metric: Metric) -> RuntimeResult<()>;
    fn get_metrics(
        &self,
        name: &str,
        duration_seconds: u64,
    ) -> RuntimeResult<Vec<Metric>>;
    fn check_alerts(&mut self) -> RuntimeResult<Vec<Alert>>;
    fn get_active_alerts(&self) -> Vec<&Alert>;
    fn acknowledge_alert(&mut self, alert_id: Uuid) -> RuntimeResult<()>;
    fn resolve_alert(&mut self, alert_id: Uuid) -> RuntimeResult<()>;
}
Expand description

Monitor interface

Required Methods§

Source

fn record_metric(&mut self, metric: Metric) -> RuntimeResult<()>

record metrics

Source

fn get_metrics( &self, name: &str, duration_seconds: u64, ) -> RuntimeResult<Vec<Metric>>

Getmetrics

Source

fn check_alerts(&mut self) -> RuntimeResult<Vec<Alert>>

Checkalert conditions

Source

fn get_active_alerts(&self) -> Vec<&Alert>

Getactive alerts

Source

fn acknowledge_alert(&mut self, alert_id: Uuid) -> RuntimeResult<()>

acknowledge alert

Source

fn resolve_alert(&mut self, alert_id: Uuid) -> RuntimeResult<()>

resolve alert

Implementors§