pub struct ReplicaApplyMetrics {
pub gap_total: Atomic<u64>,
pub divergence_total: Atomic<u64>,
pub apply_error_total: Atomic<u64>,
pub decode_error_total: Atomic<u64>,
}Expand description
PLAN.md Phase 11.5 — counters the replica apply loop bumps when an
invariant breaks. Surfaced via reddb_replica_apply_errors_total.
Decode errors aren’t strictly apply errors but they share the same
observability lane so dashboards alert on “replica is ingesting
trash from primary regardless of cause”.
Fields§
§gap_total: Atomic<u64>§divergence_total: Atomic<u64>§apply_error_total: Atomic<u64>§decode_error_total: Atomic<u64>Implementations§
Source§impl ReplicaApplyMetrics
impl ReplicaApplyMetrics
pub fn record(&self, kind: ApplyErrorKind)
pub fn snapshot(&self) -> [(ApplyErrorKind, u64); 4]
Trait Implementations§
Source§impl Debug for ReplicaApplyMetrics
impl Debug for ReplicaApplyMetrics
Source§impl Default for ReplicaApplyMetrics
impl Default for ReplicaApplyMetrics
Source§fn default() -> ReplicaApplyMetrics
fn default() -> ReplicaApplyMetrics
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !Freeze for ReplicaApplyMetrics
impl RefUnwindSafe for ReplicaApplyMetrics
impl Send for ReplicaApplyMetrics
impl Sync for ReplicaApplyMetrics
impl Unpin for ReplicaApplyMetrics
impl UnsafeUnpin for ReplicaApplyMetrics
impl UnwindSafe for ReplicaApplyMetrics
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 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::Request