pub struct TaobenchStats {
pub get_cmds: u64,
pub get_misses: u64,
pub fast_ops: u64,
pub slow_ops: u64,
pub elapsed_ns: u64,
}Expand description
Whole-run / per-phase taobench engine counters, the carried aggregate on
crate::workload::WorkerReport::taobench_whole and
crate::assert::CgroupStats::taobench_whole. The host derives the run-level
taobench_* Rate metrics from it; test authors normally assert those metrics
rather than reading this struct directly.
Taobench engine counters for one accounting window — a single phase
epoch (the per-phase crate::workload::PhaseSlice::taobench carrier) or a
whole worker run (the crate::workload::WorkerReport::taobench_whole /
crate::assert::CgroupStats::taobench_whole aggregate). Integer-only so the
enclosing PhaseSlice keeps Eq. get_cmds / get_misses are request-time;
fast_ops / slow_ops are response-time (see the module docs). Self::merge
pools two windows (Σ ops, MAX wall) and Self::total_ops is the throughput
numerator; the host derives the run-level taobench_* Rate metrics from the
pooled aggregate.
Fields§
§get_cmds: u64Lookups issued (request time).
get_misses: u64Lookups that missed (request time).
fast_ops: u64Hits served (response time).
slow_ops: u64Misses served via the slow path (response time).
elapsed_ns: u64Wall-clock window this stat covers, ns — the qps denominator. Per-phase: the phase segment; whole-run: the run window. Merged as MAX (the window is shared by the concurrent threads/workers being pooled, not summed).
Implementations§
Trait Implementations§
Source§impl Clone for TaobenchStats
impl Clone for TaobenchStats
Source§fn clone(&self) -> TaobenchStats
fn clone(&self) -> TaobenchStats
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TaobenchStats
impl Debug for TaobenchStats
Source§impl Default for TaobenchStats
impl Default for TaobenchStats
Source§fn default() -> TaobenchStats
fn default() -> TaobenchStats
Source§impl<'de> Deserialize<'de> for TaobenchStats
impl<'de> Deserialize<'de> for TaobenchStats
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>,
Source§impl PartialEq for TaobenchStats
impl PartialEq for TaobenchStats
Source§impl Serialize for TaobenchStats
impl Serialize for TaobenchStats
impl Copy for TaobenchStats
impl Eq for TaobenchStats
impl StructuralPartialEq for TaobenchStats
Auto Trait Implementations§
impl Freeze for TaobenchStats
impl RefUnwindSafe for TaobenchStats
impl Send for TaobenchStats
impl Sync for TaobenchStats
impl Unpin for TaobenchStats
impl UnwindSafe for TaobenchStats
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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