pub struct ReplicationReport {
pub configured: bool,
pub enqueued: u64,
pub synced: u64,
pub failed: u64,
pub bus_gaps: u64,
pub standbys: Vec<StandbyRow>,
pub refs: RefCoverage,
}Expand description
Everything a surface needs to draw replication, in one snapshot.
Fields§
§configured: boolIs any standby configured at all?
False and empty is “nothing to replicate to”, which is the ordinary state of a single box and is not an alarm. True and empty would be a bug, and the band says so rather than drawing nothing.
enqueued: u64Jobs that entered a queue.
synced: u64Attempts a standby accepted.
failed: u64Attempts that failed. Never resets.
bus_gaps: u64Times the event-stream subscription fell behind and lost events.
standbys: Vec<StandbyRow>One row per configured standby.
refs: RefCoverageRefs on this server that no standby carries, and the total they are
counted against. See RefCoverage.
Implementations§
Source§impl ReplicationReport
impl ReplicationReport
Sourcepub fn alarming(&self) -> impl Iterator<Item = &StandbyRow>
pub fn alarming(&self) -> impl Iterator<Item = &StandbyRow>
Any standby whose StandbyRow::verdict is an alarm.
behind is in here because of the sixty seconds described on
BEHIND_AFTER_RETRY_MAX: a standby that has been powered off is not
stale for the better part of an hour, and an alarm that only watches
stale sees nothing wrong in the meantime.
Trait Implementations§
Source§impl Clone for ReplicationReport
impl Clone for ReplicationReport
Source§impl Debug for ReplicationReport
impl Debug for ReplicationReport
Source§impl Default for ReplicationReport
impl Default for ReplicationReport
impl Eq for ReplicationReport
Source§impl PartialEq for ReplicationReport
impl PartialEq for ReplicationReport
impl StructuralPartialEq for ReplicationReport
Auto Trait Implementations§
impl Freeze for ReplicationReport
impl RefUnwindSafe for ReplicationReport
impl Send for ReplicationReport
impl Sync for ReplicationReport
impl Unpin for ReplicationReport
impl UnsafeUnpin for ReplicationReport
impl UnwindSafe for ReplicationReport
Blanket Implementations§
impl<T> Allocation for T
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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<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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request