pub struct SearchMetrics {
pub total_queries: u64,
pub cache_hits: u64,
pub cache_misses: u64,
pub total_latency_us: u64,
pub min_latency_us: u64,
pub max_latency_us: u64,
}Expand description
Performance metrics for conversational search.
Fields§
§total_queries: u64Total number of queries.
cache_hits: u64Number of cache hits.
cache_misses: u64Number of cache misses.
total_latency_us: u64Total query latency in microseconds.
min_latency_us: u64Minimum query latency in microseconds.
max_latency_us: u64Maximum query latency in microseconds.
Implementations§
Source§impl SearchMetrics
impl SearchMetrics
Sourcepub fn cache_hit_rate(&self) -> f64
pub fn cache_hit_rate(&self) -> f64
Cache hit rate (0.0–1.0).
Sourcepub fn avg_latency_us(&self) -> f64
pub fn avg_latency_us(&self) -> f64
Average latency in microseconds.
Sourcepub fn avg_latency_ms(&self) -> f64
pub fn avg_latency_ms(&self) -> f64
Average latency in milliseconds.
Sourcepub fn meets_latency_target(&self) -> bool
pub fn meets_latency_target(&self) -> bool
Whether the sub-50ms target is being met on average.
Returns false when no queries have been recorded.
Trait Implementations§
Source§impl Clone for SearchMetrics
impl Clone for SearchMetrics
Source§impl Debug for SearchMetrics
impl Debug for SearchMetrics
Auto Trait Implementations§
impl Freeze for SearchMetrics
impl RefUnwindSafe for SearchMetrics
impl Send for SearchMetrics
impl Sync for SearchMetrics
impl Unpin for SearchMetrics
impl UnsafeUnpin for SearchMetrics
impl UnwindSafe for SearchMetrics
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> Fruit for T
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