pub struct DeliveryStats {
pub socket: u64,
pub recovered: u64,
pub superseded: u64,
pub replayed: u64,
}Expand description
How events have reached the registry since the daemon started (#2136): the numbers that say whether the socket is keeping up. Monotonic and in memory.
Every hook delivers each event twice, by the socket and through its journal,
so a healthy daemon sees recovered == 0 and superseded == 0: every journal
copy is a duplicate of an event the socket already delivered. Together,
recovered and superseded are every POST that never arrived.
Fields§
§socket: u64Events applied from the control socket, whichever feed posted them: the hooks, but also the stream wrappers and the pi.dev extension. Not the daemon’s own watchers, which never touch the socket.
recovered: u64Events applied from a tailed journal whose socket copy never arrived: the dropped POSTs the journal rescued. A copy that arrived a moment after the journal poll read the line is not counted, since the poll can win that race.
superseded: u64Events read from a tailed journal whose socket copy never arrived, but
which the registry ignored because a newer event of the session had
already been applied: dropped POSTs the journal could not rescue, since
applying them would undo that newer event. Counted like recovered, and
likewise taken back if the POST turns out to be only late.
replayed: u64Events applied by the startup replay of the journals: a restart, or events fired while the daemon was down.
Trait Implementations§
Source§impl Clone for DeliveryStats
impl Clone for DeliveryStats
impl Copy for DeliveryStats
Source§impl Debug for DeliveryStats
impl Debug for DeliveryStats
Source§impl Default for DeliveryStats
impl Default for DeliveryStats
impl Eq for DeliveryStats
Source§impl PartialEq for DeliveryStats
impl PartialEq for DeliveryStats
Source§impl Serialize for DeliveryStats
impl Serialize for DeliveryStats
impl StructuralPartialEq for DeliveryStats
Auto Trait Implementations§
impl Freeze for DeliveryStats
impl RefUnwindSafe for DeliveryStats
impl Send for DeliveryStats
impl Sync for DeliveryStats
impl Unpin for DeliveryStats
impl UnsafeUnpin for DeliveryStats
impl UnwindSafe for DeliveryStats
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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> ⓘ
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