pub struct SubscriberStats { /* private fields */ }Expand description
Process-wide per-subscriber statistics, keyed by subscriber URI
(the value returned by CardSubscriber::describe).
Implementations§
Source§impl SubscriberStats
impl SubscriberStats
Sourcepub fn record_ok(&self, key: &str, kind: CardEventKind)
pub fn record_ok(&self, key: &str, kind: CardEventKind)
Record a successful event delivery.
Sourcepub fn record_err(&self, key: &str, kind: CardEventKind, err: &str)
pub fn record_err(&self, key: &str, kind: CardEventKind, err: &str)
Record a delivery failure together with the error message.
The failure kind, message, and timestamp overwrite last_error
— there is no ring buffer; only the most recent failure is kept.
Sourcepub fn snapshot(&self) -> Vec<SubscriberHealthRow>
pub fn snapshot(&self) -> Vec<SubscriberHealthRow>
Take a point-in-time snapshot of all subscribers. The returned
Vec is owned — the internal lock is released before this
function returns, so callers can hold it freely.
All four CardEventKind keys (created / appended / samples / aliases) are always present in both ok and err, defaulting
to 0 if no event of that kind has been recorded. This lets
downstream consumers rely on field presence.
Trait Implementations§
Source§impl Debug for SubscriberStats
impl Debug for SubscriberStats
Source§impl Default for SubscriberStats
impl Default for SubscriberStats
Source§fn default() -> SubscriberStats
fn default() -> SubscriberStats
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !Freeze for SubscriberStats
impl RefUnwindSafe for SubscriberStats
impl Send for SubscriberStats
impl Sync for SubscriberStats
impl Unpin for SubscriberStats
impl UnsafeUnpin for SubscriberStats
impl UnwindSafe for SubscriberStats
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> 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 moreimpl<T> MaybeSend for Twhere
T: Send,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.