Statistics Broadcasting
In addition to logging we should also provide a method to broadcast statistics messages which can be consumed by a plotting interface or the run control. This could be
- event numbers
- trigger numbers
- temperatures
The definition would be that statistics are online control values to be looked at while running, but they will (by default) not be saved anywhere. We could think of requiring them to be possible implementations of std::atomic<T>
to make the receiver side easier, but not sure about this.
We should support different metrics:
- Accumulate values: final number represents sum of all values
- Average: final number represents total average/mean of all value
- Running Average: final number represents average of last N values
- Last value
- Rate
- ...