pub struct MemoryHealthCheck { /* private fields */ }Expand description
Health check for monitoring memory usage.
This check monitors the process memory usage and compares it against a configured maximum threshold. Excessive memory usage can lead to OOM kills, performance degradation, and system instability.
Uses the sysinfo crate to obtain real memory usage statistics.
§Status Determination
Healthy: Memory usage < max_memory_mbUnhealthy: Memory usage >= max_memory_mb
§Example
use elara_runtime::health::{MemoryHealthCheck, HealthCheck};
let check = MemoryHealthCheck::new(1800); // 1800 MB limit
let result = check.check();Implementations§
Source§impl MemoryHealthCheck
impl MemoryHealthCheck
Trait Implementations§
Source§impl HealthCheck for MemoryHealthCheck
impl HealthCheck for MemoryHealthCheck
Auto Trait Implementations§
impl Freeze for MemoryHealthCheck
impl !RefUnwindSafe for MemoryHealthCheck
impl Send for MemoryHealthCheck
impl Sync for MemoryHealthCheck
impl Unpin for MemoryHealthCheck
impl UnsafeUnpin for MemoryHealthCheck
impl !UnwindSafe for MemoryHealthCheck
Blanket Implementations§
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request