pub fn node_durations(states: &[RunState]) -> Vec<NodeDuration>Expand description
Derive a per-node duration breakdown from every loaded run’s events.
For each run, a node’s span is the gap between its earliest and latest
crate::run::Event in that run. A node with fewer than two events in a
run contributes no span (see NodeDuration::single for the one-event
case); a run with no events for a node contributes nothing at all. Spans
from every run are then summed per node.