pub struct SimTrace { /* private fields */ }Expand description
Collects trace events during a simulation run.
Single-threaded by design — the simulation loop is single-threaded.
Implementations§
Source§impl SimTrace
impl SimTrace
Sourcepub fn record(&mut self, tick: u64, node_id: NodeId, kind: TraceEventKind)
pub fn record(&mut self, tick: u64, node_id: NodeId, kind: TraceEventKind)
Record a new event.
Sourcepub fn events(&self) -> &[TraceEvent]
pub fn events(&self) -> &[TraceEvent]
Get all events.
Sourcepub fn events_for_node(&self, node_id: NodeId) -> Vec<&TraceEvent>
pub fn events_for_node(&self, node_id: NodeId) -> Vec<&TraceEvent>
Get events filtered by node ID.
Sourcepub fn events_matching<F: Fn(&TraceEventKind) -> bool>(
&self,
f: F,
) -> Vec<&TraceEvent>
pub fn events_matching<F: Fn(&TraceEventKind) -> bool>( &self, f: F, ) -> Vec<&TraceEvent>
Get events matching a predicate.
Sourcepub fn events_between(&self, start_tick: u64, end_tick: u64) -> Vec<&TraceEvent>
pub fn events_between(&self, start_tick: u64, end_tick: u64) -> Vec<&TraceEvent>
Filter events by tick range [start, end] (inclusive).
Sourcepub fn last_n(&self, n: usize) -> &[TraceEvent]
pub fn last_n(&self, n: usize) -> &[TraceEvent]
Get the last N events.
Sourcepub fn causal_chain(&self, event_id: EventId) -> Vec<&TraceEvent>
pub fn causal_chain(&self, event_id: EventId) -> Vec<&TraceEvent>
Follow the causal chain backward from an event.
Sourcepub fn dump_jsonl(&self) -> String
pub fn dump_jsonl(&self) -> String
Dump as JSON Lines (one JSON object per line).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SimTrace
impl RefUnwindSafe for SimTrace
impl Send for SimTrace
impl Sync for SimTrace
impl Unpin for SimTrace
impl UnsafeUnpin for SimTrace
impl UnwindSafe for SimTrace
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