Skip to main content

Module report

Module report 

Source
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_str in 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, or None if id isn’t a live, registered task or has no stack pool entry. Factored out of report so 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.