pub struct OperationMetrics {
pub name: String,
pub call_count: u64,
pub total_duration_ns: u64,
pub min_latency_ns: u64,
pub max_latency_ns: u64,
pub p50_latency_ns: u64,
pub p95_latency_ns: u64,
pub p99_latency_ns: u64,
pub recent_latencies: Vec<u64>,
}Expand description
Metrics for a specific operation
Fields§
§name: StringOperation name
call_count: u64Number of times this operation was called
total_duration_ns: u64Total time spent in this operation
min_latency_ns: u64Minimum observed latency
max_latency_ns: u64Maximum observed latency
p50_latency_ns: u64P50 latency approximation (median)
p95_latency_ns: u64P95 latency approximation
p99_latency_ns: u64P99 latency approximation
recent_latencies: Vec<u64>Recent latencies for percentile calculation (last 1000)
Implementations§
Source§impl OperationMetrics
impl OperationMetrics
Sourcepub fn avg_latency_ns(&self) -> u64
pub fn avg_latency_ns(&self) -> u64
Get average latency
Sourcepub fn avg_latency(&self) -> Duration
pub fn avg_latency(&self) -> Duration
Get average latency as Duration
Sourcepub fn meets_target(&self, target_p99_ns: u64) -> bool
pub fn meets_target(&self, target_p99_ns: u64) -> bool
Check if operation meets performance target
Trait Implementations§
Source§impl Clone for OperationMetrics
impl Clone for OperationMetrics
Source§fn clone(&self) -> OperationMetrics
fn clone(&self) -> OperationMetrics
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 OperationMetrics
impl Debug for OperationMetrics
Source§impl<'de> Deserialize<'de> for OperationMetrics
impl<'de> Deserialize<'de> for OperationMetrics
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 OperationMetrics
impl RefUnwindSafe for OperationMetrics
impl Send for OperationMetrics
impl Sync for OperationMetrics
impl Unpin for OperationMetrics
impl UnwindSafe for OperationMetrics
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