10#include <ChimeraTK/SupportedUserTypes.h>
21 template<
typename TRIGGERTYPE =
int32_t>
24 const std::string& pathToTrigger,
const std::unordered_set<std::string>& tags = {})
41 "Number of data transfers during "
42 "the last trigger which resulted in data loss."};
44 "Number of trigger periods during "
45 "which at least on data transfer resulted in data loss."};
static size_t getAndResetDataLossCounter()
Return the current value of the data loss counter and (atomically) reset it to 0.
void writeAll(bool includeReturnChannels=false)
Just call write() on all writable variables in the group.
VariableGroup()=default
Default constructor: Allows late initialisation of VariableGroups (e.g.
InvalidityTracer application module.
ScalarPushInput< TRIGGERTYPE > trigger
Module which gathers statistics on data loss inside the application.
ScalarPushInput< TRIGGERTYPE > directTrigger
ScalarPushInput< TRIGGERTYPE > & trigger
void mainLoop() override
To be implemented by the user: function called in a separate thread executing the main loop of the mo...
ScalarOutput< uint64_t > lostDataInLastTrigger
DataLossCounter(ModuleGroup *owner, const std::string &name, const std::string &description, const std::string &pathToTrigger, const std::unordered_set< std::string > &tags={})
ScalarOutput< uint64_t > triggersWithDataLoss
ChimeraTK::DataLossCounter::TriggerGroup_compat triggerGroup_compat
Convenience class for output scalar accessors (always UpdateMode::push)