pub struct MemoryMonitorConfig {
pub enabled: bool,
pub total_budget: Option<usize>,
pub component_budgets: HashMap<String, usize>,
pub enable_auto_cleanup: bool,
pub cleanup_threshold: f64,
pub monitoring_interval: Duration,
pub enable_leak_detection: bool,
pub leak_detection_threshold: f64,
}Expand description
Configuration for memory monitoring
Fields§
§enabled: boolEnable memory monitoring
total_budget: Option<usize>Total memory budget in bytes (None = unlimited)
component_budgets: HashMap<String, usize>Per-component memory budgets
enable_auto_cleanup: boolEnable automatic memory cleanup when approaching limits
cleanup_threshold: f64Cleanup threshold (fraction of budget, 0.0-1.0)
monitoring_interval: DurationMonitoring interval
enable_leak_detection: boolEnable memory leak detection
leak_detection_threshold: f64Growth rate threshold for leak detection (bytes per second)
Implementations§
Source§impl MemoryMonitorConfig
impl MemoryMonitorConfig
Sourcepub fn low_memory() -> Self
pub fn low_memory() -> Self
Configuration for low-memory devices (128 MB budget)
Sourcepub fn validate(&self) -> Result<(), MemoryMonitorError>
pub fn validate(&self) -> Result<(), MemoryMonitorError>
Validate the configuration
Trait Implementations§
Source§impl Clone for MemoryMonitorConfig
impl Clone for MemoryMonitorConfig
Source§fn clone(&self) -> MemoryMonitorConfig
fn clone(&self) -> MemoryMonitorConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MemoryMonitorConfig
impl Debug for MemoryMonitorConfig
Auto Trait Implementations§
impl Freeze for MemoryMonitorConfig
impl RefUnwindSafe for MemoryMonitorConfig
impl Send for MemoryMonitorConfig
impl Sync for MemoryMonitorConfig
impl Unpin for MemoryMonitorConfig
impl UnwindSafe for MemoryMonitorConfig
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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