pub struct LockMetrics {
pub acquisitions: u64,
pub contentions: u64,
pub total_wait_time: Duration,
pub max_wait_time: Duration,
pub avg_wait_time: Duration,
}Expand description
Metrics for a tracked synchronization primitive
Fields§
§acquisitions: u64Total number of successful acquisitions
contentions: u64Number of times a task had to wait (contention)
total_wait_time: DurationTotal time spent waiting for the lock
max_wait_time: DurationMaximum wait time observed
avg_wait_time: DurationAverage wait time (when contended)
Implementations§
Source§impl LockMetrics
impl LockMetrics
Sourcepub fn contention_rate(&self) -> f64
pub fn contention_rate(&self) -> f64
Calculate contention rate (0.0 to 1.0)
Trait Implementations§
Source§impl Clone for LockMetrics
impl Clone for LockMetrics
Source§fn clone(&self) -> LockMetrics
fn clone(&self) -> LockMetrics
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 LockMetrics
impl Debug for LockMetrics
Source§impl Default for LockMetrics
impl Default for LockMetrics
Source§fn default() -> LockMetrics
fn default() -> LockMetrics
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for LockMetrics
impl RefUnwindSafe for LockMetrics
impl Send for LockMetrics
impl Sync for LockMetrics
impl Unpin for LockMetrics
impl UnwindSafe for LockMetrics
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> 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 more