Skip to main content

Evidence

Struct Evidence 

Source
pub struct Evidence {
Show 35 fields pub current: GenerationId, pub boot_default: GenerationId, pub base: GenerationId, pub candidate: Option<GenerationId>, pub boot_entries: Vec<GenerationId>, pub collected: Vec<GenerationId>, pub work: Option<(usize, usize)>, pub overrides_empty: bool, pub override_hash: Option<Hash>, pub agreement: Option<Vec<String>>, pub third_party_override: Option<Hash>, pub ledger: Ledger, pub journal_replays: bool, pub log: Vec<LogRecord>, pub pre_status: BTreeMap<UnitId, String>, pub finals: BTreeMap<UnitId, String>, pub touched: BTreeSet<UnitId>, pub seen_status: BTreeMap<UnitId, BTreeSet<String>>, pub seen_incidents: BTreeMap<IncidentId, Incident>, pub open_incidents: BTreeMap<UnitId, Incident>, pub first_incident_at: BTreeMap<UnitId, Timestamp>, pub start: Timestamp, pub restarts: BTreeMap<UnitId, i64>, pub notices: Vec<String>, pub responses: Vec<Response>, pub entries: Option<Vec<Entry>>, pub full_replay: Option<Ledger>, pub effects: Option<Vec<Effect>>, pub status_timeline: Option<BTreeMap<UnitId, Vec<(Timestamp, String)>>>, pub foreground: Option<Vec<(Timestamp, String, bool)>>, pub drivers: Option<BTreeMap<UnitId, String>>, pub options: Option<BTreeMap<String, Value>>, pub probe_defs: Option<(String, String)>, pub gc_roots: Option<(BTreeSet<String>, BTreeSet<String>)>, pub posture: PostureSeen,
}

Fields§

§current: GenerationId

The generation running, and the one the boot menu defaults to.

§boot_default: GenerationId§base: GenerationId

The catalog’s symbolic generations.

§candidate: Option<GenerationId>§boot_entries: Vec<GenerationId>

Generations in the boot menu, and those garbage-collected during the run.

§collected: Vec<GenerationId>§work: Option<(usize, usize)>

Sources staged and candidates built during the run (fake harness).

§overrides_empty: bool

The live override file assigns nothing (it is the base’s).

§override_hash: Option<Hash>

The live override file’s hash at the end, and the hash of what a third party wrote to it during the run (I23), if one did.

§agreement: Option<Vec<String>>

What disagrees among boot selection, GC roots, the override file and the journal at the end (empty: they agree); None where the harness cannot see all four.

§third_party_override: Option<Hash>§ledger: Ledger

The journal at the end, and whether it replays cleanly.

§journal_replays: bool§log: Vec<LogRecord>

Executor log records (I7) written during the run.

§pre_status: BTreeMap<UnitId, String>

Statuses just before the first step, and at the end.

§finals: BTreeMap<UnitId, String>§touched: BTreeSet<UnitId>

Units the entry’s own steps act on (exempt from others_unchanged).

§seen_status: BTreeMap<UnitId, BTreeSet<String>>

Every status each unit showed during the run.

§seen_incidents: BTreeMap<IncidentId, Incident>

Every incident seen during the run (latest version of each), and the ones still open at the end, by target.

§open_incidents: BTreeMap<UnitId, Incident>§first_incident_at: BTreeMap<UnitId, Timestamp>§start: Timestamp§restarts: BTreeMap<UnitId, i64>

Restarts Planarian performed, per unit.

§notices: Vec<String>

The daemon’s notices, and the answers to the entry’s own requests.

§responses: Vec<Response>§entries: Option<Vec<Entry>>

Every journal entry written during the run, across compactions.

§full_replay: Option<Ledger>

The ledger from replaying that whole history, when the run compacted the journal (the live ledger then comes from the checkpoint plus tail).

§effects: Option<Vec<Effect>>

Backend mutations that went through (not fenced), with the time each one’s effect lasted: an instant, or a background job’s run.

§status_timeline: Option<BTreeMap<UnitId, Vec<(Timestamp, String)>>>

Each unit’s status changes, in order.

§foreground: Option<Vec<(Timestamp, String, bool)>>

Each foreground step (§12f quiet mode): when, session, on or off.

§drivers: Option<BTreeMap<UnitId, String>>

The driver bound to each device at the end.

§options: Option<BTreeMap<String, Value>>

The running generation’s evaluated options.

§probe_defs: Option<(String, String)>

The probe definitions in force at the start and at the end.

§gc_roots: Option<(BTreeSet<String>, BTreeSet<String>)>

Planarian’s build GC roots at the start and at the end.

§posture: PostureSeen

The failure posture (§12d) as the run left it.

Trait Implementations§

Source§

impl Clone for Evidence

Source§

fn clone(&self) -> Evidence

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Evidence

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Evidence

Source§

fn default() -> Evidence

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for Evidence

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for Evidence

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,