Expand description
rivet::report() — a single call that dumps kernel-wide state to the
console: every live task’s priority (base/effective), state, stack
watermark, and %busy execution-time share, plus registry-wide
timer/task slot usage.
Scope note (plan.md Phase 8, extended by Phase 10): %busy is backed
by crate::exec_time, itself built on the Group A cycle counter.
Periods/budgets (plan.md Phase 11) don’t get their own report column —
a budget overrun raises crate::fault::FaultKind::BudgetExceeded
immediately through the normal fault policy rather than being tallied
silently, so there’s no “miss count” to display.
Functions§
- report
- Print a full kernel state dump to the console. Safe to call from any
task context (not ISR-safe — it does blocking console writes, same as
crate::console::write_strin general; see [crate::log] for the ISR-safe alternative when you need to trace from interrupt context). - task_
stack_ usage - A registered task’s stack watermark:
(used, total)bytes, orNoneifidisn’t a live, registered task or has no stack pool entry. Factored out ofreportso callers that need just one task’s number (e.g. a periodic trace-emitting task) don’t have to re-derive the scratch-window dance below.