NodeSampler
One sampler of what a node reports that is read rather than heard, every interval: the head of each partition of each log group the node has positions in, and how many entries each subscription has parked, by its group and name (ParkedSubscription: each context has its own snapshot), counted up to maxParked. Both its health and its gauges read the one sample (latest), so the ledgers are read once per interval, whoever reports them.
Each listener is told every sample, in order, a failing one isolated from the others. A read that fails or takes longer than readTimeout (at most interval) is left out of its sample, and the next one tries again, so a store that hangs delays its readers by that much at most. While the node is not running, a sample reads nothing. start samples at once, then every interval; close stops it.
Constructors
Properties
The last sample taken, NodeSample.EMPTY before the first.