pub struct MonitoringSystem { /* private fields */ }Expand description
Production monitoring system
Implementations§
Source§impl MonitoringSystem
 
impl MonitoringSystem
pub fn new(config: MonitoringConfig) -> Self
Sourcepub fn record_request(
    &self,
    request: &Request,
    response: &Response,
    duration: Duration,
)
 
pub fn record_request( &self, request: &Request, response: &Response, duration: Duration, )
Record a request metric
Sourcepub fn record_metric(&self, name: &str, value: f64, labels: &[(&str, String)])
 
pub fn record_metric(&self, name: &str, value: f64, labels: &[(&str, String)])
Record a custom metric
Sourcepub fn start_trace(&self, operation: &str, request: &Request) -> TraceContext
 
pub fn start_trace(&self, operation: &str, request: &Request) -> TraceContext
Start a distributed trace span
Sourcepub fn add_health_check(&self, check: HealthCheck)
 
pub fn add_health_check(&self, check: HealthCheck)
Add a health check
Sourcepub async fn run_health_checks(&self) -> HealthStatus
 
pub async fn run_health_checks(&self) -> HealthStatus
Run all health checks
Sourcepub fn create_alert(&self, alert: Alert)
 
pub fn create_alert(&self, alert: Alert)
Create an alert
Sourcepub fn get_metrics(&self) -> MetricsSnapshot
 
pub fn get_metrics(&self) -> MetricsSnapshot
Get system metrics
Sourcepub fn get_recent_alerts(&self, since: SystemTime) -> Vec<Alert>
 
pub fn get_recent_alerts(&self, since: SystemTime) -> Vec<Alert>
Get recent alerts
Sourcepub fn get_performance_stats(&self) -> PerformanceStats
 
pub fn get_performance_stats(&self) -> PerformanceStats
Get performance statistics
Auto Trait Implementations§
impl Freeze for MonitoringSystem
impl RefUnwindSafe for MonitoringSystem
impl Send for MonitoringSystem
impl Sync for MonitoringSystem
impl Unpin for MonitoringSystem
impl UnwindSafe for MonitoringSystem
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
    T: 'a,
 
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
    T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
    T: 'a,
 
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
    T: 'a,
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> 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> 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