pub struct ExportStatistics { /* private fields */ }Expand description
Export statistics tracker
Tracks recent export attempts to calculate adaptive timeouts. Thread-safe for use across async exporters.
Implementations§
Source§impl ExportStatistics
impl ExportStatistics
Sourcepub fn new(max_attempts: usize) -> Self
pub fn new(max_attempts: usize) -> Self
Create new export statistics tracker
§Arguments
max_attempts- Maximum number of attempts to track (default: 1000)
Sourcepub fn record_success(&self, duration: Duration)
pub fn record_success(&self, duration: Duration)
Record successful export
Sourcepub fn record_failure(&self, duration: Duration)
pub fn record_failure(&self, duration: Duration)
Record failed export
Sourcepub fn success_rate(&self) -> f64
pub fn success_rate(&self) -> f64
Calculate export success rate (0.0 to 1.0)
Sourcepub fn p95_latency(&self) -> Duration
pub fn p95_latency(&self) -> Duration
Calculate P95 export latency
Returns the 95th percentile export duration. This represents worst-case latency for 95% of exports.
Sourcepub fn failed_exports(&self) -> usize
pub fn failed_exports(&self) -> usize
Get count of failed exports
Sourcepub fn total_exports(&self) -> usize
pub fn total_exports(&self) -> usize
Get total export count
Sourcepub fn last_export_age(&self) -> Option<Duration>
pub fn last_export_age(&self) -> Option<Duration>
Get age of last export attempt
Trait Implementations§
Source§impl Clone for ExportStatistics
impl Clone for ExportStatistics
Source§fn clone(&self) -> ExportStatistics
fn clone(&self) -> ExportStatistics
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 ExportStatistics
impl Debug for ExportStatistics
Auto Trait Implementations§
impl Freeze for ExportStatistics
impl RefUnwindSafe for ExportStatistics
impl Send for ExportStatistics
impl Sync for ExportStatistics
impl Unpin for ExportStatistics
impl UnwindSafe for ExportStatistics
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request