pub struct InvariantHealthState {
pub last_confirmed_at: Option<DateTime<Utc>>,
pub consecutive_unconfirmed: u64,
pub last_evidence: Option<AlarmCause>,
pub alarmed: bool,
}Expand description
Per-invariant health accounting the engine persists between sweeps.
The values are COMPUTED by the engine’s health machinery (pure, in
aion-rs); the store only carries them so tolerance accounting survives a
restart — an engine that forgot how many windows a loop had already missed
would silently re-grant the whole tolerance budget on every boot.
Fields§
§last_confirmed_at: Option<DateTime<Utc>>When the invariant was last confirmed, if ever.
consecutive_unconfirmed: u64Consecutive unconfirmed samples/missed windows since the last confirmation.
last_evidence: Option<AlarmCause>The kind of unconfirmed evidence last accrued (sample-red or
window-missed), so a duration-form expiry can name the evidence it
sits on; None when the invariant has accrued no unconfirmed evidence
since its last confirmation — the unconfirmed-unknown case.
alarmed: boolWhether the tolerance-exceeded alarm has already been raised for the current unconfirmed run (edge-triggered: reset on confirmation, so a sustained breach alarms once, not once per sweep).
Trait Implementations§
Source§impl Clone for InvariantHealthState
impl Clone for InvariantHealthState
Source§fn clone(&self) -> InvariantHealthState
fn clone(&self) -> InvariantHealthState
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more