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§
Sourcefn record_metric(&mut self, metric: Metric) -> RuntimeResult<()>
fn record_metric(&mut self, metric: Metric) -> RuntimeResult<()>
record metrics
Sourcefn get_metrics(
&self,
name: &str,
duration_seconds: u64,
) -> RuntimeResult<Vec<Metric>>
fn get_metrics( &self, name: &str, duration_seconds: u64, ) -> RuntimeResult<Vec<Metric>>
Getmetrics
Sourcefn check_alerts(&mut self) -> RuntimeResult<Vec<Alert>>
fn check_alerts(&mut self) -> RuntimeResult<Vec<Alert>>
Checkalert conditions
Sourcefn get_active_alerts(&self) -> Vec<&Alert>
fn get_active_alerts(&self) -> Vec<&Alert>
Getactive alerts
Sourcefn acknowledge_alert(&mut self, alert_id: Uuid) -> RuntimeResult<()>
fn acknowledge_alert(&mut self, alert_id: Uuid) -> RuntimeResult<()>
acknowledge alert
Sourcefn resolve_alert(&mut self, alert_id: Uuid) -> RuntimeResult<()>
fn resolve_alert(&mut self, alert_id: Uuid) -> RuntimeResult<()>
resolve alert