Go to the documentation of this file. 1 #ifndef EVF_FASTMONITORINGTHREAD
2 #define EVF_FASTMONITORINGTHREAD
20 namespace FastMonState {
32 m_value.store(iValue, std::memory_order_relaxed);
35 operator T() {
return m_value.load(std::memory_order_relaxed); }
61 std::unordered_map<const void*, int>::const_iterator it =
quickReference_.find((
void*)
add);
154 std::vector<ContainableAtomic<const std::string*>>
ministate_;
232 jsonMonitor_ = std::make_unique<jsoncollector::FastMonitor>(microStateDefPath, defGroup,
false);
233 if (!fastMicroStateDefPath.empty())
234 jsonMonitor_->addFastPathDefinition(fastMicroStateDefPath, defGroup,
false);
std::vector< unsigned int > microstateEncoded_
FastMonEncoding encModule_
std::vector< jsoncollector::AtomicMonUInt * > processed_
void update(const void *add)
void fillReserved(const void *add, unsigned int i)
std::vector< unsigned int > threadMicrostateEncoded_
jsoncollector::DoubleJ fastAvgLeadTimeJ_
jsoncollector::DoubleJ fastLockWaitJ_
constexpr int nSpecialModules
ContainableAtomic< T > & operator=(T iValue)
std::atomic< FastMonState::Macrostate > macrostate_
void commit(std::vector< unsigned int > *streamLumisPtr)
unsigned int inputstateBins_
ContainableAtomic(T iValue)
ContainableAtomic(ContainableAtomic< T > const &iOther)
void updatePreinit(std::string const &add)
constexpr int nReservedPaths
std::vector< ContainableAtomic< const void * > > microstate_
void resetFastMonitor(std::string const µStateDefPath, std::string const &fastMicroStateDefPath)
void completeReservedWithDummies()
void registerGlobalMonitorable(JsonMonitorable *newMonitorable, bool NAifZeroUpdates, unsigned int *nBins=nullptr)
const void * decode(unsigned int index)
jsoncollector::IntJ fastFilesProcessedJ_
void registerStreamMonitorableUIntVec(std::string const &name, std::vector< unsigned int > *inputs, bool NAifZeroUpdates, unsigned int *nBins=nullptr)
virtual void setName(std::string name)
std::vector< unsigned int > inputState_
void updateReserved(const void *add)
std::unordered_map< std::string, int > quickReferencePreinit_
int encodeString(const std::string *add)
constexpr int nReservedModules
unsigned int varIndexThrougput_
jsoncollector::DoubleJ fastThroughputJ_
unsigned int microstateBins_
std::atomic< bool > m_stoprequest
void add(std::map< std::string, TH1 * > &h, TH1 *hist)
std::vector< unsigned int > streamLumi_
std::vector< const void * > decoder_
unsigned int AtomicMonUInt
void registerVariables(jsoncollector::FastMonitor *fm, unsigned int nStreams, unsigned int nThreads)
void registerStreamMonitorableUIntVecAtomic(std::string const &name, std::vector< AtomicMonUInt * > *inputs, bool NAifZeroUpdates, unsigned int *nBins=nullptr)
unsigned int macrostateBins_
void registerFastGlobalMonitorable(JsonMonitorable *newMonitorable)
jsoncollector::IntJ fastEventsProcessedJ_
int encode(const void *add) const
std::shared_ptr< std::thread > m_thread
edm::ModuleDescription * dummiesForReserved_
std::vector< FastMonEncoding > encPath_
jsoncollector::IntJ fastPathProcessedJ_
std::unordered_map< const void *, int > quickReference_
std::unique_ptr< jsoncollector::FastMonitor > jsonMonitor_
std::vector< ContainableAtomic< const std::string * > > ministate_
jsoncollector::IntJ fastLockCountJ_
jsoncollector::IntJ fastMacrostateJ_
std::vector< ContainableAtomic< const void * > > threadMicrostate_
FastMonEncoding(unsigned int res)
unsigned int ministateBins_
std::vector< unsigned int > ministateEncoded_
std::vector< ContainableAtomic< unsigned char > > microstateAcqFlag_
void start(void(FastMonitoringService::*fp)(), FastMonitoringService *cp)