The status bar's two tiers, the activity badge, the fixed state words, and the ⓘ detail popover. Martino Ferrari Status bar and diagnostics

The status bar is two tiers. The bar itself is one glance line — the state, the rate and the window — and everything else is behind the ⓘ button at its right-hand end.

How to reach it

The bar is always visible at the foot of the window, under the badge bar. Click ⓘ for the detail popover.

Worth knowing

The badge is one glyph in four colours: green alternating lit and dim means data is arriving, and a steady colour means it is not. A badge that never blinks is not a working badge. Of the two steady colours, grey is no stream at all or a pipeline you stopped (the tooltip says which), and yellow is a source that answered but has sent no configuration.

Left of the badge is the trigger circle, and it is the trigger's own light: solid green while the trigger has fired (an event is held, or a capture is filling), flashing green while armed and waiting for an event, red while the trigger mode is on but disarmed, and hidden entirely while the trigger mode is off — a light for a mode you are not in is noise. Its tooltip names the state in words.

The state field is one word from a fixed set: connecting, live, paused, armed, capturing, event held, disarmed. Two states add one field each: in trigger mode, how long ago the last event was; while paused, how long you have been paused.

connecting means there is no signal list yet — either no session or a session with no configuration behind it. Every other word claims a signal list, so until one arrives there is nothing for them to describe: nothing can be enabled and no data is owed.

The paused figure is wall time, not stream time — the producer never stops while paused, so it answers "how long have I been looking at this picture".

Nothing on the bar may change width with the stream, because the bar sits directly above the plot and a wider label would relayout it. That is why the rate collapses to one figure or a range rather than listing per channel, and why an elapsed time steps to a coarser unit instead of growing digits.

gaps counts packets the receiver knows it missed. It is the number that matters: a non-zero count means samples are absent from the buffer, not merely late.

reconnects counts sessions re-established with the source. Over unicast a climbing count usually means a second client is taking the source's single session.

The starvation notice — connected, but no data is arriving — is that same situation seen from the other side: the signal list is here, so something took the stream away. A source that has sent no configuration gets a different notice, trying to connect, because nothing was taken away — pointing the app at a port where nothing answers is that case, and the usual cause is a streamer that is not running or is serving another port.

stored versus wire in the popover is the decimation. They differ exactly when the window is too long to store at full rate.

Example

The bar reads ● live · 10 kS/s · 2 s window. Behind ⓘ: Stream connected, configured / packets 717 · frames 716 · gaps 0 / 3 signals · 3 channels, Buffer 200.0 MB · 1677 s span · time x1 / stored 10 kS/s (wire 10 kS/s), Plot 1 3 traces · 195000 samples, Reconnects 0.