pub struct ProgressTicker { /* private fields */ }Expand description
A live progress row on the log, for as long as a pack is being absorbed.
§Why this exists
peak_rss and the re-inflation count rode only on index.finished, and a
pack that never finishes emits neither. Lane P2’s two rig boxes ran for
2h14m and 2h12m and produced no row carrying either number — the two figures
most wanted, missing from exactly the failure they were built for. The band
could show 13G/16G because a dashboard polls snapshot_all; a serial log
and a journalctl had nothing.
So the numbers ride the tick as well as the finish, and the tick is a thread rather than a hook inside the resolver: it prints while the resolver is PAUSED too, which is when an operator most needs to see it, and a hook in the resolve loop by definition does not run then.
Implementations§
Source§impl ProgressTicker
impl ProgressTicker
Sourcepub fn start(progress: Arc<IndexProgress>) -> Self
pub fn start(progress: Arc<IndexProgress>) -> Self
Start ticking for progress. The thread ends when the returned value is
dropped, which is why it is a value and not a call.