pub struct EtpaoLive { /* private fields */ }Expand description
In-memory collector for live request and outcome measurements.
Implementations§
Source§impl EtpaoLive
impl EtpaoLive
Sourcepub fn record_request(&mut self, req: RequestMetrics)
pub fn record_request(&mut self, req: RequestMetrics)
Records token usage for one request.
Sourcepub fn record_outcome(&mut self, outcome: OutcomeMetrics)
pub fn record_outcome(&mut self, outcome: OutcomeMetrics)
Records the evaluated outcome of one request.
Sourcepub fn current_etpao(&self) -> f64
pub fn current_etpao(&self) -> f64
Returns aggregate tokens per accepted outcome.
Sourcepub fn etpao_for_client(&self, client_id: &str) -> Option<f64>
pub fn etpao_for_client(&self, client_id: &str) -> Option<f64>
Returns tokens per accepted outcome for a client with recorded requests.
Sourcepub fn retry_tax(&self) -> f64
pub fn retry_tax(&self) -> f64
Returns the fraction of tokens consumed by requests with retries.
Sourcepub fn summary(&self) -> EtpaoSummary
pub fn summary(&self) -> EtpaoSummary
Builds an aggregate serializable measurement snapshot.
Sourcepub fn request_count(&self) -> usize
pub fn request_count(&self) -> usize
Returns the number of recorded requests.
Sourcepub fn outcome_count(&self) -> usize
pub fn outcome_count(&self) -> usize
Returns the number of recorded outcomes.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for EtpaoLive
impl RefUnwindSafe for EtpaoLive
impl Send for EtpaoLive
impl Sync for EtpaoLive
impl Unpin for EtpaoLive
impl UnsafeUnpin for EtpaoLive
impl UnwindSafe for EtpaoLive
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,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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