pub struct WaveAggregateStats {
pub chunk_attempts_total: usize,
pub store_durations_ms: Vec<u64>,
pub retries_histogram: [usize; 4],
}Expand description
Aggregated retry / wall-clock stats across one or more WaveResults.
Used by Client::batch_upload_chunks_with_events (which may store
multiple waves per call) and surfaced upward into FileUploadResult so
downstream tooling can record per-upload retry pressure and per-chunk
store wall-clock without needing log parsing.
Fields§
§chunk_attempts_total: usizeSum of store-RPC attempts across all waves (>= chunks_stored).
store_durations_ms: Vec<u64>Per-chunk wall-clock (ms) from first attempt to successful store, concatenated across waves.
retries_histogram: [usize; 4]Count of stored chunks that succeeded on each retry round
(index 0 = first attempt, 1 = first retry, etc.). Indices match
the retry rounds emitted by Client::store_paid_chunks_with_events
which caps at MAX_RETRIES = 3, so an array of 4 suffices.
Implementations§
Source§impl WaveAggregateStats
impl WaveAggregateStats
Sourcepub fn absorb(&mut self, wave: &WaveResult)
pub fn absorb(&mut self, wave: &WaveResult)
Fold one WaveResult’s stats into the running aggregate.
Trait Implementations§
Source§impl Clone for WaveAggregateStats
impl Clone for WaveAggregateStats
Source§fn clone(&self) -> WaveAggregateStats
fn clone(&self) -> WaveAggregateStats
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for WaveAggregateStats
impl Debug for WaveAggregateStats
Source§impl Default for WaveAggregateStats
impl Default for WaveAggregateStats
Source§fn default() -> WaveAggregateStats
fn default() -> WaveAggregateStats
Auto Trait Implementations§
impl Freeze for WaveAggregateStats
impl RefUnwindSafe for WaveAggregateStats
impl Send for WaveAggregateStats
impl Sync for WaveAggregateStats
impl Unpin for WaveAggregateStats
impl UnsafeUnpin for WaveAggregateStats
impl UnwindSafe for WaveAggregateStats
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
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>
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>
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