pub struct ReceiptStoreHealthReport {Show 14 fields
pub healthy: bool,
pub writer: ReceiptWriterCounters,
pub writer_liveness: String,
pub latest_committed_entry_seq: u64,
pub latest_checkpoint_seq: Option<u64>,
pub latest_checkpointed_entry_seq: u64,
pub uncheckpointed_start_seq: Option<u64>,
pub uncheckpointed_end_seq: Option<u64>,
pub checkpoint_error: Option<String>,
pub db_size_bytes: Option<u64>,
pub retention_watermark_entry_seq: Option<u64>,
pub retention_error: Option<String>,
pub writer_level: HealthLevel,
pub writer_restart_total: u64,
}Fields§
§healthy: bool§writer: ReceiptWriterCounters§writer_liveness: StringCurrent writer-liveness label (“healthy”, “wedged”, “dead”, …). Serialized so an operator health surface can distinguish a slow-but-live writer from a wedged one. Optional for backward compatibility.
latest_committed_entry_seq: u64§latest_checkpoint_seq: Option<u64>§latest_checkpointed_entry_seq: u64§uncheckpointed_start_seq: Option<u64>§uncheckpointed_end_seq: Option<u64>§checkpoint_error: Option<String>§db_size_bytes: Option<u64>§retention_watermark_entry_seq: Option<u64>Current receipt-retention archival high-water mark (the highest
entry_seq archived so far), or None if retention has never run.
Reported even when retention is disabled so unbounded growth is
visible in health output.
retention_error: Option<String>Last error from the background retention maintenance worker, or None
when the most recent rotation succeeded (or retention is not configured).
A persistent value means the store is serving under a retention policy
that is not being honored; healthy is false while it is set so
operators and automation can alert on a silently-failing background task.
writer_level: HealthLevelSupervised health of the commit-writer thread. A durable store reports this so a dead or degraded writer can never be masked by a last-batch success.
writer_restart_total: u64Cumulative writer restarts observed by the supervisor. Non-zero after any writer fault, even once the writer recovers.
Trait Implementations§
Source§impl Clone for ReceiptStoreHealthReport
impl Clone for ReceiptStoreHealthReport
Source§fn clone(&self) -> ReceiptStoreHealthReport
fn clone(&self) -> ReceiptStoreHealthReport
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ReceiptStoreHealthReport
impl Debug for ReceiptStoreHealthReport
Source§impl Default for ReceiptStoreHealthReport
impl Default for ReceiptStoreHealthReport
Source§fn default() -> ReceiptStoreHealthReport
fn default() -> ReceiptStoreHealthReport
Source§impl<'de> Deserialize<'de> for ReceiptStoreHealthReport
impl<'de> Deserialize<'de> for ReceiptStoreHealthReport
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for ReceiptStoreHealthReport
Source§impl PartialEq for ReceiptStoreHealthReport
impl PartialEq for ReceiptStoreHealthReport
Source§impl Serialize for ReceiptStoreHealthReport
impl Serialize for ReceiptStoreHealthReport
impl StructuralPartialEq for ReceiptStoreHealthReport
Auto Trait Implementations§
impl Freeze for ReceiptStoreHealthReport
impl RefUnwindSafe for ReceiptStoreHealthReport
impl Send for ReceiptStoreHealthReport
impl Sync for ReceiptStoreHealthReport
impl Unpin for ReceiptStoreHealthReport
impl UnsafeUnpin for ReceiptStoreHealthReport
impl UnwindSafe for ReceiptStoreHealthReport
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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