pub struct OperationStats {
pub count: u64,
pub total_bytes: u64,
pub total_duration: Duration,
pub min_latency: Duration,
pub max_latency: Duration,
pub avg_latency: Duration,
pub avg_bandwidth_bps: f64,
pub p95_latency: Duration,
pub p99_latency: Duration,
}Expand description
Statistics for a specific communication operation type
Fields§
§count: u64Total number of operations
total_bytes: u64Total data transferred (bytes)
total_duration: DurationTotal time spent (duration)
min_latency: DurationMinimum latency observed
max_latency: DurationMaximum latency observed
avg_latency: DurationAverage latency
avg_bandwidth_bps: f64Average bandwidth (bytes per second)
p95_latency: Duration95th percentile latency
p99_latency: Duration99th percentile latency
Implementations§
Source§impl OperationStats
impl OperationStats
Sourcepub fn add_event(&mut self, event: &CommunicationEvent)
pub fn add_event(&mut self, event: &CommunicationEvent)
Add a new event to the statistics
Sourcepub fn calculate_percentiles(&mut self, durations: &mut [Duration])
pub fn calculate_percentiles(&mut self, durations: &mut [Duration])
Calculate percentiles from a list of durations
Trait Implementations§
Source§impl Clone for OperationStats
impl Clone for OperationStats
Source§fn clone(&self) -> OperationStats
fn clone(&self) -> OperationStats
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 OperationStats
impl Debug for OperationStats
Source§impl Default for OperationStats
impl Default for OperationStats
Source§impl<'de> Deserialize<'de> for OperationStats
impl<'de> Deserialize<'de> for OperationStats
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for OperationStats
impl RefUnwindSafe for OperationStats
impl Send for OperationStats
impl Sync for OperationStats
impl Unpin for OperationStats
impl UnsafeUnpin for OperationStats
impl UnwindSafe for OperationStats
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> 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