Go to the documentation of this file. 1 #ifndef EvFFastMonitoringService_H
2 #define EvFFastMonitoringService_H 1
13 #include "boost/filesystem.hpp"
23 #include <unordered_map>
61 m_value.store(iValue, std::memory_order_relaxed);
64 operator T() {
return m_value.load(std::memory_order_relaxed); }
168 void reportLockWait(
unsigned int ls,
double waitTime,
unsigned int lockCount);
183 void doSnapshot(
const unsigned int ls,
const bool isGlobalEOL);
191 monInit_.exchange(
true, std::memory_order_acquire);
205 std::vector<std::string> CSVv;
234 std::atomic<FastMonitoringThread::InputState>
inputState_{FastMonitoringThread::InputState::inInit};
void preGlobalEndLumi(edm::GlobalContext const &)
static const std::string macroStateNames[FastMonitoringThread::MCOUNT]
std::vector< ContainableAtomic< unsigned int > > eventCountForPathInit_
std::map< unsigned int, std::pair< double, unsigned int > > lockStatsDuringLumi_
void preStreamEndLumi(edm::StreamContext const &)
unsigned int fastMonIntervals_
std::unordered_map< const void *, int > quickReference_
Encoding(unsigned int res)
bool shouldWriteFiles(unsigned int lumi, unsigned int *proc=nullptr)
void doSnapshot(const unsigned int ls, const bool isGlobalEOL)
std::string getRunDirName() const
std::vector< Encoding > encPath_
void preSourceEvent(edm::StreamID)
edm::ModuleDescription * dummiesForReserved_
unsigned int getEventsProcessedForLumi(unsigned int lumi, bool *abortFlag=nullptr)
std::map< unsigned int, std::pair< unsigned int, bool > > processedEventsPerLumi_
ContainableAtomic< T > & operator=(const void *iValue)
std::string inputLegendFileJson_
std::vector< std::atomic< bool > * > collectedPathList_
ContainableAtomic(T iValue)
ContainableAtomic(ContainableAtomic< T > const &iOther)
void update(const void *add)
std::string moduleLegendFileJson_
void preSourceEarlyTermination(edm::TerminationOrigin)
std::vector< unsigned int > exceptionInLS_
std::atomic< FastMonitoringThread::Macrostate > macrostate_
void setInputSource(FedRawDataInputSource *inputSource)
std::vector< unsigned long > firstEventId_
std::vector< const void * > decoder_
FastMonitoringService(const edm::ParameterSet &, edm::ActivityRegistry &)
void accumulateFileSize(unsigned int lumi, unsigned long fileSize)
void updateReserved(const void *add)
FedRawDataInputSource * inputSource_
void postStreamBeginLumi(edm::StreamContext const &)
std::vector< std::string > fastPathList_
std::map< unsigned int, timeval > lumiStartTime_
void preGlobalBeginLumi(edm::GlobalContext const &)
std::vector< ContainableAtomic< const void * > > microstate_
void preStreamBeginLumi(edm::StreamContext const &)
void postModuleEvent(edm::StreamContext const &, edm::ModuleCallingContext const &)
boost::filesystem::path workingDirectory_
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
void postGlobalEndLumi(edm::GlobalContext const &)
std::atomic< FastMonitoringThread::InputState > inputSupervisorState_
bool getAbortFlagForLumi(unsigned int lumi)
~FastMonitoringService() override
std::vector< std::atomic< bool > * > streamCounterUpdating_
void preModuleEvent(edm::StreamContext const &, edm::ModuleCallingContext const &)
std::atomic< bool > m_stoprequest
void add(std::map< std::string, TH1 * > &h, TH1 *hist)
unsigned int lumiFromSource_
void setInStateSup(FastMonitoringThread::InputState inputState)
std::string pathLegendFile_
std::map< unsigned int, double > avgLeadTime_
void postSourceEvent(edm::StreamID)
std::atomic< bool > monInit_
void preModuleBeginJob(edm::ModuleDescription const &)
unsigned int lastGlobalLumi_
boost::filesystem::path runDirectory_
void prePathEvent(edm::StreamContext const &, edm::PathContext const &)
unsigned int nOutputModules_
void postGlobalBeginRun(edm::GlobalContext const &)
void preEvent(edm::StreamContext const &)
void reportLockWait(unsigned int ls, double waitTime, unsigned int lockCount)
void postEvent(edm::StreamContext const &)
std::atomic< bool > isInitTransition_
static const std::string nopath_
std::string makeInputLegendaJson()
void preGlobalEarlyTermination(edm::GlobalContext const &, edm::TerminationOrigin)
int encode(const void *add)
std::vector< ContainableAtomic< const void * > > threadMicrostate_
std::unique_ptr< jsoncollector::FastMonitor > jsonMonitor_
std::map< unsigned int, unsigned long > accuSize_
std::string makePathLegendaJson()
static const std::string inputStateNames[FastMonitoringThread::inCOUNT]
jsoncollector::IntJ fastMacrostateJ_
void startedLookingForFile()
std::string makeModuleLegendaJson()
void preallocate(edm::service::SystemBounds const &)
void setExceptionDetected(unsigned int ls)
std::string pathLegendFileJson_
std::atomic< unsigned long > totalEventsProcessed_
void fillReserved(const void *add, unsigned int i)
std::string fastMicrostateDefPath_
std::vector< ContainableAtomic< const void * > > ministate_
std::vector< double > leadTimes_
std::string microstateDefPath_
void doStreamEOLSnapshot(const unsigned int ls, const unsigned int streamID)
std::string moduleLegendFile_
void setInState(FastMonitoringThread::InputState inputState)
void postStreamEndLumi(edm::StreamContext const &)
std::map< unsigned int, unsigned int > filesProcessedDuringLumi_
void preStreamEarlyTermination(edm::StreamContext const &, edm::TerminationOrigin)
unsigned int snapCounter_
void stoppedLookingForFile(unsigned int lumi)
void preBeginJob(edm::PathsAndConsumesOfModulesBase const &, edm::ProcessContext const &pc)
void setMicroState(MicroStateService::Microstate) override
void completeReservedWithDummies()
std::atomic< FastMonitoringThread::InputState > inputState_
const void * decode(unsigned int index)
FastMonitoringThread fmt_
std::vector< bool > pathNamesReady_