pub struct TickPhaseProfiler { /* private fields */ }Expand description
Owns the six per-phase rings NativeRuntime::tick writes into every
call. Lives on NativeRuntime itself (not a side channel) so the timing
and the work it describes can never drift apart.
Implementations§
Source§impl TickPhaseProfiler
impl TickPhaseProfiler
Sourcepub fn record_drain_observations(&mut self, elapsed: Duration)
pub fn record_drain_observations(&mut self, elapsed: Duration)
effects.drain_observations – pulling completed native-provider
observations (and any terminal frames riding along with them) off
the effect dispatcher before the kernel reduces this tick.
Sourcepub fn record_drain_ingress(&mut self, elapsed: Duration)
pub fn record_drain_ingress(&mut self, elapsed: Duration)
port.drain_ingress – pulling queued operator/control commands off
the bounded control-plane port.
Sourcepub fn record_step_control_plane(&mut self, elapsed: Duration)
pub fn record_step_control_plane(&mut self, elapsed: Duration)
kernel.step_control_plane – the synchronous kernel reduction
itself: ingress and observations in, effects and a fresh backend
snapshot out. This phase is the leading suspect for idle-tick cost,
since step_control_plane builds a full KernelStep (including a
backend snapshot clone) unconditionally on every call, whether or
not ingress/observations carried anything to reduce.
Sourcepub fn record_dispatch_effects(&mut self, elapsed: Duration)
pub fn record_dispatch_effects(&mut self, elapsed: Duration)
The loop dispatching this tick’s own kernel effects to per-instance
native workers (effects.dispatch).
Sourcepub fn record_publish_step(&mut self, elapsed: Duration)
pub fn record_publish_step(&mut self, elapsed: Duration)
port.publish_step – publishing the step’s snapshot/events back
out through the control-plane port.
Sourcepub fn record_provider_supervisors(&mut self, elapsed: Duration)
pub fn record_provider_supervisors(&mut self, elapsed: Duration)
Walking every installed ProviderSupervisor::tick plus draining
their exit-ack/fault queues (collect_provider_supervisor_events).