Draft: Monitoring using Gaudi Accumulators
Added ability to fill Gaudi Accumulators
(currently only Gaudi::Accumulators::Counter<>
is supported) within Algorithm
s.
Gaudi::Monitoring::Hub
used to register all Accumulators with the MonitoringAggregator
, which implements the Gaudi::Monitoring::Hub::Sink
interface and is responsible for aggregating separate copies from all Stream
s into a single Accumulator
. This aggregation is then registered with any downstream Sink
s.
MonitoringPrinter
is a simple example of a downstream Sink
, which prints out all aggregated counters to the terminal periodically.
Both MonitoringAggregator
and MonitoringPrinter
run within a separate aggregation thread, which loops every 997ms to keep it out of sync with anything that runs at integer second intervals.
ServiceLocator
added to Algorithm
to allow Allen Algorithms
to act as OWNER
s of Gaudi Accumulators
.
As an initial example, Counter
s added to GatherSelections
for all active trigger lines.
STANDALONE
build should be unaffected by the changes.
Note that this branch requires the version of Gaudi from this MR: gaudi/Gaudi!1253 (merged)
Also depends on: gaudi/Gaudi!1266 (merged)