Defaults
The optional top-level [defaults] table supplies max_rate and history_s
for any channel that omits them. It saves you from repeating the same buffer
sizing on every channel when a whole file targets, say, 100 kHz.
[defaults]
max_rate = 100000
history_s = 5.0
[channels."x"]
type = "float" # inherits max_rate and history_s from [defaults]
[channels."y"]
type = "float"
max_rate = 1000 # a per-channel value always wins over [defaults]
What it governs
[defaults] feeds both statically-configured channels and
runtime-discovered ones (an MQTT or WebSocket topic dragged onto a panel), so a
whole session can share one buffer-sizing policy.
Ring capacity is still computed the same way — max_rate × history_s × 1.2 —
just with the resolved values.
What it does not govern
Only max_rate and history_s are settable in [defaults]. Other fields keep
their per-field built-in defaults and cannot be set here:
color,unit,eu_scale,eu_offset,max_lines
There is a single global table — no per-group or per-pattern defaults.
Precedence
- A per-channel
max_rate/history_sin the channel's own table. - Otherwise the value from
[defaults]. - Otherwise the built-in default (
1000Hz /10.0s for configured channels).
Omitting [defaults], or omitting either key within it, preserves the built-in
behaviour exactly. Either key may appear alone.