STALL_WINDOW

Constant STALL_WINDOW 

Source
pub const STALL_WINDOW: usize = 4;
Expand description

Sliding-window size: number of consecutive flat samples that flip the stall predicate. W=4 with DEFAULT_POLL_INTERVAL_MS = 2 s detection latency. Constant rather than env-tunable — the operator already controls latency via the poll interval, and a smaller W would false-positive on transient idle.

§False-positive on slow-period workloads

A worker that legitimately runs once per interval * W (e.g. a periodic 10 s sleep tracker on a 2 s poll) will look “stuck” for the full W-sample window because both counters stay flat between the worker’s wakeups. The fire is a true “no forward progress” observation — the operator distinguishes false-positive (intentional slow period) from true stall (kernel-side hang) via the StallDiagnostic::wchan field on the report: a healthy slow-period worker shows a do_nanosleep / pipe_read / epoll_wait wchan, while a true stall shows the offending kernel function. Per the no-silent-drops policy the framework opts for the loud-fire path rather than guessing the worker’s intended cadence.