pub struct AdaptiveCheckpointConfig {
pub min_interval: Duration,
pub max_interval: Duration,
pub target_overhead_ratio: f64,
pub smoothing_alpha: f64,
}Expand description
Configuration for adaptive checkpoint intervals.
Dynamically adjusts the checkpoint interval based on observed checkpoint
durations: interval = clamp(smoothed_duration / target_ratio, min, max).
This avoids checkpointing too frequently under light load (wasting I/O) or too infrequently under heavy load (increasing recovery time).
Fields§
§min_interval: DurationMinimum checkpoint interval (floor). Default: 10s.
max_interval: DurationMaximum checkpoint interval (ceiling). Default: 300s.
target_overhead_ratio: f64Target ratio of checkpoint duration to interval.
For example, 0.1 means checkpoints should take at most 10% of the time between them. Default: 0.1.
smoothing_alpha: f64EMA smoothing factor for checkpoint durations.
Higher values give more weight to recent observations. Range: 0.0–1.0. Default: 0.3.
Trait Implementations§
Source§impl Clone for AdaptiveCheckpointConfig
impl Clone for AdaptiveCheckpointConfig
Source§fn clone(&self) -> AdaptiveCheckpointConfig
fn clone(&self) -> AdaptiveCheckpointConfig
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 AdaptiveCheckpointConfig
impl Debug for AdaptiveCheckpointConfig
Auto Trait Implementations§
impl Freeze for AdaptiveCheckpointConfig
impl RefUnwindSafe for AdaptiveCheckpointConfig
impl Send for AdaptiveCheckpointConfig
impl Sync for AdaptiveCheckpointConfig
impl Unpin for AdaptiveCheckpointConfig
impl UnsafeUnpin for AdaptiveCheckpointConfig
impl UnwindSafe for AdaptiveCheckpointConfig
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.