CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes
evf::FastMonitoringService Class Reference

#include <FastMonitoringService.h>

Inheritance diagram for evf::FastMonitoringService:
evf::MicroStateService

Public Member Functions

void accumulateFileSize (unsigned int lumi, unsigned long fileSize)
 
 FastMonitoringService (const edm::ParameterSet &, edm::ActivityRegistry &)
 
bool getAbortFlagForLumi (unsigned int lumi)
 
unsigned int getEventsProcessedForLumi (unsigned int lumi, bool *abortFlag=nullptr)
 
std::string getRunDirName () const
 
void jobFailure ()
 
std::string makeInputLegendaJson ()
 
std::string makeModuleLegendaJson ()
 
std::string makePathLegendaJson ()
 
void postBeginJob ()
 
void postEndJob ()
 
void postEvent (edm::StreamContext const &)
 
void postGlobalBeginRun (edm::GlobalContext const &)
 
void postGlobalEndLumi (edm::GlobalContext const &)
 
void postModuleEvent (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void postModuleEventAcquire (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void postSourceEvent (edm::StreamID)
 
void postStreamBeginLumi (edm::StreamContext const &)
 
void postStreamEndLumi (edm::StreamContext const &)
 
void preallocate (edm::service::SystemBounds const &)
 
void preBeginJob (edm::PathsAndConsumesOfModulesBase const &, edm::ProcessContext const &pc)
 
void preEvent (edm::StreamContext const &)
 
void preGlobalBeginLumi (edm::GlobalContext const &)
 
void preGlobalEarlyTermination (edm::GlobalContext const &, edm::TerminationOrigin)
 
void preGlobalEndLumi (edm::GlobalContext const &)
 
void preModuleBeginJob (edm::ModuleDescription const &)
 
void preModuleEvent (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void preModuleEventAcquire (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void prePathEvent (edm::StreamContext const &, edm::PathContext const &)
 
void preSourceEarlyTermination (edm::TerminationOrigin)
 
void preSourceEvent (edm::StreamID)
 
void preStreamBeginLumi (edm::StreamContext const &)
 
void preStreamEarlyTermination (edm::StreamContext const &, edm::TerminationOrigin)
 
void preStreamEndLumi (edm::StreamContext const &)
 
void reportLockWait (unsigned int ls, double waitTime, unsigned int lockCount)
 
void setExceptionDetected (unsigned int ls)
 
void setInputSource (FedRawDataInputSource *inputSource)
 
void setInState (FastMonState::InputState inputState)
 
void setInStateSup (FastMonState::InputState inputState)
 
void setMicroState (edm::StreamID, FastMonState::Microstate)
 
void setMicroState (FastMonState::Microstate)
 
bool shouldWriteFiles (unsigned int lumi, unsigned int *proc=nullptr)
 
void startedLookingForFile ()
 
void stoppedLookingForFile (unsigned int lumi)
 
 ~FastMonitoringService () override
 
- Public Member Functions inherited from evf::MicroStateService
 MicroStateService (const edm::ParameterSet &, edm::ActivityRegistry &)
 
virtual ~MicroStateService ()
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 

Static Public Attributes

static const std::string inputStateNames [FastMonState::inCOUNT]
 
static const std::string macroStateNames [FastMonState::MCOUNT]
 
static const std::string nopath_ = "NoPath"
 
static const edm::ModuleDescription reservedMicroStateNames [FastMonState::mCOUNT]
 

Private Member Functions

void doSnapshot (const unsigned int ls, const bool isGlobalEOL)
 
void snapshotRunner ()
 

Private Attributes

std::map< unsigned int, unsigned long > accuSize_
 
std::map< unsigned int, double > avgLeadTime_
 
std::vector< std::atomic< bool > * > collectedPathList_
 
bool exception_detected_ = false
 
std::vector< unsigned int > exceptionInLS_
 
std::string fastMicrostateDefPath_
 
unsigned int fastMonIntervals_
 
std::string fastName_
 
std::string fastPath_
 
std::vector< std::string > fastPathList_
 
timeval fileLookStart_
 
timeval fileLookStop_
 
bool filePerFwkStream_
 
std::map< unsigned int, unsigned int > filesProcessedDuringLumi_
 
std::shared_ptr< FastMonitoringThreadfmt_
 
std::string inputLegendFileJson_
 
FedRawDataInputSourceinputSource_ = nullptr
 
std::atomic< FastMonState::InputStateinputState_ {FastMonState::InputState::inInit}
 
std::atomic< FastMonState::InputStateinputSupervisorState_ {FastMonState::InputState::inInit}
 
std::atomic< bool > isInitTransition_
 
unsigned int lastGlobalLumi_
 
std::vector< double > leadTimes_
 
std::map< unsigned int, std::pair< double, unsigned int > > lockStatsDuringLumi_
 
unsigned int lumiFromSource_
 
std::map< unsigned int, timeval > lumiStartTime_
 
std::string microstateDefPath_
 
std::string moduleLegendFile_
 
std::string moduleLegendFileJson_
 
std::atomic< bool > monInit_
 
unsigned int nOutputModules_ = 0
 
unsigned int nStreams_
 
unsigned int nThreads_
 
std::string pathLegendFile_
 
std::string pathLegendFileJson_
 
std::vector< bool > pathNamesReady_
 
std::map< unsigned int, std::pair< unsigned int, bool > > processedEventsPerLumi_
 
std::filesystem::path runDirectory_
 
int sleepTime_
 
std::string slowName_
 
unsigned int snapCounter_ = 0
 
std::vector< std::atomic< bool > * > streamCounterUpdating_
 
bool threadIDAvailable_ = false
 
std::atomic< unsigned long > totalEventsProcessed_
 
std::filesystem::path workingDirectory_
 

Detailed Description

Definition at line 153 of file FastMonitoringService.h.

Constructor & Destructor Documentation

◆ FastMonitoringService()

evf::FastMonitoringService::FastMonitoringService ( const edm::ParameterSet iPS,
edm::ActivityRegistry reg 
)

Definition at line 123 of file FastMonitoringService.cc.

124  : MicroStateService(iPS, reg),
125  fmt_(new FastMonitoringThread()),
126  nStreams_(0) //until initialized
127  ,
128  sleepTime_(iPS.getUntrackedParameter<int>("sleepTime", 1)),
129  fastMonIntervals_(iPS.getUntrackedParameter<unsigned int>("fastMonIntervals", 2)),
130  fastName_("fastmoni"),
131  slowName_("slowmoni"),
132  filePerFwkStream_(iPS.getUntrackedParameter<bool>("filePerFwkStream", false)),
134  reg.watchPreallocate(this, &FastMonitoringService::preallocate); //receiving information on number of threads
136 
141 
145 
150 
152 
153  reg.watchPreEvent(this, &FastMonitoringService::preEvent); //stream
155 
156  reg.watchPreSourceEvent(this, &FastMonitoringService::preSourceEvent); //source (with streamID of requestor)
158 
161 
164 
168 
169  //find microstate definition path (required by the module)
170  struct stat statbuf;
171  std::string microstateBaseSuffix = "src/EventFilter/Utilities/plugins/microstatedef.jsd";
172  std::string microstatePath = std::string(std::getenv("CMSSW_BASE")) + "/" + microstateBaseSuffix;
173  if (stat(microstatePath.c_str(), &statbuf)) {
174  microstatePath = std::string(std::getenv("CMSSW_RELEASE_BASE")) + "/" + microstateBaseSuffix;
175  if (stat(microstatePath.c_str(), &statbuf)) {
176  microstatePath = microstateBaseSuffix;
177  if (stat(microstatePath.c_str(), &statbuf))
178  throw cms::Exception("FastMonitoringService") << "microstate definition file not found";
179  }
180  }
181  fastMicrostateDefPath_ = microstateDefPath_ = microstatePath;
182  }

References Exception, fastMicrostateDefPath_, jobFailure(), microstateDefPath_, postBeginJob(), postEndJob(), postEvent(), postGlobalEndLumi(), postModuleEvent(), postModuleEventAcquire(), postSourceEvent(), postStreamBeginLumi(), postStreamEndLumi(), preallocate(), preBeginJob(), preEvent(), preGlobalBeginLumi(), preGlobalEarlyTermination(), preGlobalEndLumi(), preModuleBeginJob(), preModuleEvent(), preModuleEventAcquire(), prePathEvent(), preSourceEarlyTermination(), preSourceEvent(), preStreamBeginLumi(), preStreamEarlyTermination(), preStreamEndLumi(), edm_modernize_messagelogger::stat, AlCaHLTBitMon_QueryRunRegistry::string, edm::ActivityRegistry::watchJobFailure(), edm::ActivityRegistry::watchPostBeginJob(), edm::ActivityRegistry::watchPostEndJob(), edm::ActivityRegistry::watchPostEvent(), edm::ActivityRegistry::watchPostGlobalEndLumi(), edm::ActivityRegistry::watchPostModuleEvent(), edm::ActivityRegistry::watchPostModuleEventAcquire(), edm::ActivityRegistry::watchPostSourceEvent(), edm::ActivityRegistry::watchPostStreamBeginLumi(), edm::ActivityRegistry::watchPostStreamEndLumi(), edm::ActivityRegistry::watchPreallocate(), edm::ActivityRegistry::watchPreBeginJob(), edm::ActivityRegistry::watchPreEvent(), edm::ActivityRegistry::watchPreGlobalBeginLumi(), edm::ActivityRegistry::watchPreGlobalEarlyTermination(), edm::ActivityRegistry::watchPreGlobalEndLumi(), edm::ActivityRegistry::watchPreModuleBeginJob(), edm::ActivityRegistry::watchPreModuleEvent(), edm::ActivityRegistry::watchPreModuleEventAcquire(), edm::ActivityRegistry::watchPrePathEvent(), edm::ActivityRegistry::watchPreSourceEarlyTermination(), edm::ActivityRegistry::watchPreSourceEvent(), edm::ActivityRegistry::watchPreStreamBeginLumi(), edm::ActivityRegistry::watchPreStreamEarlyTermination(), and edm::ActivityRegistry::watchPreStreamEndLumi().

◆ ~FastMonitoringService()

evf::FastMonitoringService::~FastMonitoringService ( )
override

Definition at line 184 of file FastMonitoringService.cc.

184 {}

Member Function Documentation

◆ accumulateFileSize()

void evf::FastMonitoringService::accumulateFileSize ( unsigned int  lumi,
unsigned long  fileSize 
)

Definition at line 668 of file FastMonitoringService.cc.

668  {
669  std::lock_guard<std::mutex> lock(fmt_->monlock_);
670 
671  if (accuSize_.find(lumi) == accuSize_.end())
672  accuSize_[lumi] = fileSize;
673  else
674  accuSize_[lumi] += fileSize;
675 
678  else
680  }

References accuSize_, filesProcessedDuringLumi_, fmt_, CommonMethods::lock(), and BXlumiParameters_cfi::lumi.

Referenced by evf::EvFDaqDirector::bumpFile().

◆ doSnapshot()

void evf::FastMonitoringService::doSnapshot ( const unsigned int  ls,
const bool  isGlobalEOL 
)
private

Definition at line 815 of file FastMonitoringService.cc.

815  {
816  // update macrostate
817  fmt_->m_data.fastMacrostateJ_ = fmt_->m_data.macrostate_;
818 
819  std::vector<const void*> microstateCopy(fmt_->m_data.microstate_.begin(), fmt_->m_data.microstate_.end());
820  std::vector<unsigned char> microstateAcqCopy(fmt_->m_data.microstateAcqFlag_.begin(),
821  fmt_->m_data.microstateAcqFlag_.end());
822 
823  if (!isInitTransition_) {
824  auto itd = avgLeadTime_.find(ls);
825  if (itd != avgLeadTime_.end())
826  fmt_->m_data.fastAvgLeadTimeJ_ = itd->second;
827  else
828  fmt_->m_data.fastAvgLeadTimeJ_ = 0.;
829 
830  auto iti = filesProcessedDuringLumi_.find(ls);
831  if (iti != filesProcessedDuringLumi_.end())
832  fmt_->m_data.fastFilesProcessedJ_ = iti->second;
833  else
834  fmt_->m_data.fastFilesProcessedJ_ = 0;
835 
836  auto itrd = lockStatsDuringLumi_.find(ls);
837  if (itrd != lockStatsDuringLumi_.end()) {
838  fmt_->m_data.fastLockWaitJ_ = itrd->second.first;
839  fmt_->m_data.fastLockCountJ_ = itrd->second.second;
840  } else {
841  fmt_->m_data.fastLockWaitJ_ = 0.;
842  fmt_->m_data.fastLockCountJ_ = 0.;
843  }
844  }
845 
846  for (unsigned int i = 0; i < nStreams_; i++) {
847  fmt_->m_data.ministateEncoded_[i] = fmt_->m_data.encPath_[i].encodeString(fmt_->m_data.ministate_[i]);
848  if (microstateAcqCopy[i])
849  fmt_->m_data.microstateEncoded_[i] =
850  fmt_->m_data.microstateBins_ + fmt_->m_data.encModule_.encode(microstateCopy[i]);
851  else
852  fmt_->m_data.microstateEncoded_[i] = fmt_->m_data.encModule_.encode(microstateCopy[i]);
853  }
854 
855  bool inputStatePerThread = false;
856 
858  switch (inputSupervisorState_) {
860  fmt_->m_data.inputState_[0] = FastMonState::inWaitInput_fileLimit;
861  break;
863  fmt_->m_data.inputState_[0] = FastMonState::inWaitInput_waitFreeChunk;
864  break;
866  fmt_->m_data.inputState_[0] = FastMonState::inWaitInput_waitFreeChunkCopying;
867  break;
869  fmt_->m_data.inputState_[0] = FastMonState::inWaitInput_waitFreeThread;
870  break;
872  fmt_->m_data.inputState_[0] = FastMonState::inWaitInput_waitFreeThreadCopying;
873  break;
875  fmt_->m_data.inputState_[0] = FastMonState::inWaitInput_busy;
876  break;
878  fmt_->m_data.inputState_[0] = FastMonState::inWaitInput_lockPolling;
879  break;
881  fmt_->m_data.inputState_[0] = FastMonState::inWaitInput_lockPollingCopying;
882  break;
884  fmt_->m_data.inputState_[0] = FastMonState::inWaitInput_runEnd;
885  break;
887  fmt_->m_data.inputState_[0] = FastMonState::inWaitInput_noFile;
888  break;
890  fmt_->m_data.inputState_[0] = FastMonState::inWaitInput_newFile;
891  break;
894  break;
896  fmt_->m_data.inputState_[0] = FastMonState::inWaitInput_newFileWaitThread;
897  break;
900  break;
902  fmt_->m_data.inputState_[0] = FastMonState::inWaitInput_newFileWaitChunk;
903  break;
904  default:
905  fmt_->m_data.inputState_[0] = FastMonState::inWaitInput;
906  }
907  } else if (inputState_ == FastMonState::inWaitChunk) {
908  switch (inputSupervisorState_) {
910  fmt_->m_data.inputState_[0] = FastMonState::inWaitChunk_fileLimit;
911  break;
913  fmt_->m_data.inputState_[0] = FastMonState::inWaitChunk_waitFreeChunk;
914  break;
916  fmt_->m_data.inputState_[0] = FastMonState::inWaitChunk_waitFreeChunkCopying;
917  break;
919  fmt_->m_data.inputState_[0] = FastMonState::inWaitChunk_waitFreeThread;
920  break;
922  fmt_->m_data.inputState_[0] = FastMonState::inWaitChunk_waitFreeThreadCopying;
923  break;
925  fmt_->m_data.inputState_[0] = FastMonState::inWaitChunk_busy;
926  break;
928  fmt_->m_data.inputState_[0] = FastMonState::inWaitChunk_lockPolling;
929  break;
931  fmt_->m_data.inputState_[0] = FastMonState::inWaitChunk_lockPollingCopying;
932  break;
934  fmt_->m_data.inputState_[0] = FastMonState::inWaitChunk_runEnd;
935  break;
937  fmt_->m_data.inputState_[0] = FastMonState::inWaitChunk_noFile;
938  break;
940  fmt_->m_data.inputState_[0] = FastMonState::inWaitChunk_newFile;
941  break;
944  break;
946  fmt_->m_data.inputState_[0] = FastMonState::inWaitChunk_newFileWaitThread;
947  break;
950  break;
952  fmt_->m_data.inputState_[0] = FastMonState::inWaitChunk_newFileWaitChunk;
953  break;
954  default:
955  fmt_->m_data.inputState_[0] = FastMonState::inWaitChunk;
956  }
957  } else if (inputState_ == FastMonState::inNoRequest) {
958  inputStatePerThread = true;
959  for (unsigned int i = 0; i < nStreams_; i++) {
960  if (microstateCopy[i] == &reservedMicroStateNames[FastMonState::mIdle])
961  fmt_->m_data.inputState_[i] = FastMonState::inNoRequestWithIdleThreads;
962  else if (microstateCopy[i] == &reservedMicroStateNames[FastMonState::mEoL] ||
963  microstateCopy[i] == &reservedMicroStateNames[FastMonState::mFwkEoL])
964  fmt_->m_data.inputState_[i] = FastMonState::inNoRequestWithEoLThreads;
965  else
966  fmt_->m_data.inputState_[i] = FastMonState::inNoRequest;
967  }
968  } else if (inputState_ == FastMonState::inNewLumi) {
969  inputStatePerThread = true;
970  for (unsigned int i = 0; i < nStreams_; i++) {
971  if (microstateCopy[i] == &reservedMicroStateNames[FastMonState::mEoL] ||
972  microstateCopy[i] == &reservedMicroStateNames[FastMonState::mFwkEoL])
973  fmt_->m_data.inputState_[i] = FastMonState::inNewLumi;
974  }
975  } else
976  fmt_->m_data.inputState_[0] = inputState_;
977 
978  //this is same for all streams
979  if (!inputStatePerThread)
980  for (unsigned int i = 1; i < nStreams_; i++)
981  fmt_->m_data.inputState_[i] = fmt_->m_data.inputState_[0];
982 
983  if (isGlobalEOL) { //only update global variables
984  fmt_->jsonMonitor_->snapGlobal(ls);
985  } else
986  fmt_->jsonMonitor_->snap(ls);
987  }

References avgLeadTime_, filesProcessedDuringLumi_, fmt_, mps_fire::i, if(), evf::FastMonState::inNewLumi, evf::FastMonState::inNoRequest, evf::FastMonState::inNoRequestWithEoLThreads, evf::FastMonState::inNoRequestWithIdleThreads, inputState_, inputSupervisorState_, evf::FastMonState::inRunEnd, evf::FastMonState::inSupBusy, evf::FastMonState::inSupFileLimit, evf::FastMonState::inSupLockPolling, evf::FastMonState::inSupLockPollingCopying, evf::FastMonState::inSupNewFile, evf::FastMonState::inSupNewFileWaitChunk, evf::FastMonState::inSupNewFileWaitChunkCopying, evf::FastMonState::inSupNewFileWaitThread, evf::FastMonState::inSupNewFileWaitThreadCopying, evf::FastMonState::inSupNoFile, evf::FastMonState::inSupWaitFreeChunk, evf::FastMonState::inSupWaitFreeChunkCopying, evf::FastMonState::inSupWaitFreeThread, evf::FastMonState::inSupWaitFreeThreadCopying, evf::FastMonState::inWaitChunk, evf::FastMonState::inWaitChunk_busy, evf::FastMonState::inWaitChunk_fileLimit, evf::FastMonState::inWaitChunk_lockPolling, evf::FastMonState::inWaitChunk_lockPollingCopying, evf::FastMonState::inWaitChunk_newFile, evf::FastMonState::inWaitChunk_newFileWaitChunk, evf::FastMonState::inWaitChunk_newFileWaitChunkCopying, evf::FastMonState::inWaitChunk_newFileWaitThread, evf::FastMonState::inWaitChunk_newFileWaitThreadCopying, evf::FastMonState::inWaitChunk_noFile, evf::FastMonState::inWaitChunk_runEnd, evf::FastMonState::inWaitChunk_waitFreeChunk, evf::FastMonState::inWaitChunk_waitFreeChunkCopying, evf::FastMonState::inWaitChunk_waitFreeThread, evf::FastMonState::inWaitChunk_waitFreeThreadCopying, evf::FastMonState::inWaitInput, evf::FastMonState::inWaitInput_busy, evf::FastMonState::inWaitInput_fileLimit, evf::FastMonState::inWaitInput_lockPolling, evf::FastMonState::inWaitInput_lockPollingCopying, evf::FastMonState::inWaitInput_newFile, evf::FastMonState::inWaitInput_newFileWaitChunk, evf::FastMonState::inWaitInput_newFileWaitChunkCopying, evf::FastMonState::inWaitInput_newFileWaitThread, evf::FastMonState::inWaitInput_newFileWaitThreadCopying, evf::FastMonState::inWaitInput_noFile, evf::FastMonState::inWaitInput_runEnd, evf::FastMonState::inWaitInput_waitFreeChunk, evf::FastMonState::inWaitInput_waitFreeChunkCopying, evf::FastMonState::inWaitInput_waitFreeThread, evf::FastMonState::inWaitInput_waitFreeThreadCopying, isInitTransition_, lockStatsDuringLumi_, eostools::ls(), evf::FastMonState::mEoL, evf::FastMonState::mFwkEoL, evf::FastMonState::mIdle, nStreams_, and reservedMicroStateNames.

Referenced by preGlobalEndLumi(), and snapshotRunner().

◆ fillDescriptions()

void evf::FastMonitoringService::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 186 of file FastMonitoringService.cc.

186  {
188  desc.setComment("Service for File-based DAQ monitoring and event accounting");
189  desc.addUntracked<int>("sleepTime", 1)->setComment("Sleep time of the monitoring thread");
190  desc.addUntracked<unsigned int>("fastMonIntervals", 2)
191  ->setComment("Modulo of sleepTime intervals on which fastmon file is written out");
192  desc.addUntracked<bool>("filePerFwkStream", false)
193  ->setComment("Switches on monitoring output per framework stream");
194  desc.setAllowAnything();
195  descriptions.add("FastMonitoringService", desc);
196  }

References edm::ConfigurationDescriptions::add(), and submitPVResolutionJobs::desc.

◆ getAbortFlagForLumi()

bool evf::FastMonitoringService::getAbortFlagForLumi ( unsigned int  lumi)

Definition at line 742 of file FastMonitoringService.cc.

742  {
743  std::lock_guard<std::mutex> lock(fmt_->monlock_);
744 
745  auto it = processedEventsPerLumi_.find(lumi);
746  if (it != processedEventsPerLumi_.end()) {
747  unsigned int abortFlag = it->second.second;
748  return abortFlag;
749  } else {
750  throw cms::Exception("FastMonitoringService")
751  << "output module wants already deleted (or never reported by SOURCE) lumisection status for LUMI -: "
752  << lumi;
753  return false;
754  }
755  }

References Exception, fmt_, CommonMethods::lock(), BXlumiParameters_cfi::lumi, and processedEventsPerLumi_.

Referenced by shouldWriteFiles().

◆ getEventsProcessedForLumi()

unsigned int evf::FastMonitoringService::getEventsProcessedForLumi ( unsigned int  lumi,
bool *  abortFlag = nullptr 
)

Definition at line 724 of file FastMonitoringService.cc.

724  {
725  std::lock_guard<std::mutex> lock(fmt_->monlock_);
726 
727  auto it = processedEventsPerLumi_.find(lumi);
728  if (it != processedEventsPerLumi_.end()) {
729  unsigned int proc = it->second.first;
730  if (abortFlag)
731  *abortFlag = it->second.second;
732  return proc;
733  } else {
734  throw cms::Exception("FastMonitoringService")
735  << "output module wants already deleted (or never reported by SOURCE) lumisection event count for LUMI -: "
736  << lumi;
737  return 0;
738  }
739  }

References Exception, fmt_, CommonMethods::lock(), BXlumiParameters_cfi::lumi, ValidateTausOnZEEFastSim_cff::proc, and processedEventsPerLumi_.

Referenced by dqm::DQMFileSaverPB::fillJson(), dqmfilesaver::fillJson(), evf::EvFOutputModule::globalEndLuminosityBlock(), dqm::DQMFileSaverPB::saveLumi(), and shouldWriteFiles().

◆ getRunDirName()

std::string evf::FastMonitoringService::getRunDirName ( ) const
inline

Definition at line 216 of file FastMonitoringService.h.

216 { return runDirectory_.stem().string(); }

References runDirectory_.

◆ jobFailure()

void evf::FastMonitoringService::jobFailure ( )

Definition at line 424 of file FastMonitoringService.cc.

424 { fmt_->m_data.macrostate_ = FastMonState::sError; }

References fmt_, and evf::FastMonState::sError.

Referenced by FastMonitoringService().

◆ makeInputLegendaJson()

std::string evf::FastMonitoringService::makeInputLegendaJson ( )

Definition at line 231 of file FastMonitoringService.cc.

231  {
232  Json::Value legendaVector(Json::arrayValue);
233  for (int i = 0; i < FastMonState::inCOUNT; i++)
234  legendaVector.append(Json::Value(inputStateNames[i]));
235  Json::Value moduleLegend;
236  moduleLegend["names"] = legendaVector;
238  return writer.write(moduleLegend);
239  }

References Json::Value::append(), Json::arrayValue, mps_fire::i, evf::FastMonState::inCOUNT, inputStateNames, and cscNeutronWriter_cfi::writer.

Referenced by postBeginJob().

◆ makeModuleLegendaJson()

std::string evf::FastMonitoringService::makeModuleLegendaJson ( )

Definition at line 210 of file FastMonitoringService.cc.

210  {
211  Json::Value legendaVector(Json::arrayValue);
212  for (int i = 0; i < fmt_->m_data.encModule_.current_; i++)
213  legendaVector.append(
214  Json::Value((static_cast<const edm::ModuleDescription*>(fmt_->m_data.encModule_.decode(i)))->moduleLabel()));
215  //duplicate modules adding a list for acquire states (not all modules actually have it)
216  for (int i = 0; i < fmt_->m_data.encModule_.current_; i++)
217  legendaVector.append(Json::Value(
218  (static_cast<const edm::ModuleDescription*>(fmt_->m_data.encModule_.decode(i)))->moduleLabel() + "__ACQ"));
219  Json::Value valReserved(nReservedModules);
220  Json::Value valSpecial(nSpecialModules);
221  Json::Value valOutputModules(nOutputModules_);
222  Json::Value moduleLegend;
223  moduleLegend["names"] = legendaVector;
224  moduleLegend["reserved"] = valReserved;
225  moduleLegend["special"] = valSpecial;
226  moduleLegend["output"] = valOutputModules;
228  return writer.write(moduleLegend);
229  }

References Json::Value::append(), Json::arrayValue, fmt_, mps_fire::i, nOutputModules_, evf::nReservedModules, evf::nSpecialModules, and cscNeutronWriter_cfi::writer.

Referenced by postBeginJob().

◆ makePathLegendaJson()

std::string evf::FastMonitoringService::makePathLegendaJson ( )

Definition at line 198 of file FastMonitoringService.cc.

198  {
199  Json::Value legendaVector(Json::arrayValue);
200  for (int i = 0; i < fmt_->m_data.encPath_[0].current_; i++)
201  legendaVector.append(Json::Value(*(static_cast<const std::string*>(fmt_->m_data.encPath_[0].decode(i)))));
202  Json::Value valReserved(nReservedPaths);
203  Json::Value pathLegend;
204  pathLegend["names"] = legendaVector;
205  pathLegend["reserved"] = valReserved;
207  return writer.write(pathLegend);
208  }

References Json::Value::append(), Json::arrayValue, fmt_, mps_fire::i, evf::nReservedPaths, and cscNeutronWriter_cfi::writer.

Referenced by postBeginJob().

◆ postBeginJob()

void evf::FastMonitoringService::postBeginJob ( )

Definition at line 442 of file FastMonitoringService.cc.

442  {
443  std::string&& moduleLegStrJson = makeModuleLegendaJson();
444  FileIO::writeStringToFile(moduleLegendFileJson_, moduleLegStrJson);
445 
446  std::string inputLegendStrJson = makeInputLegendaJson();
447  FileIO::writeStringToFile(inputLegendFileJson_, inputLegendStrJson);
448 
449  std::string pathLegendStrJson = makePathLegendaJson();
450  FileIO::writeStringToFile(pathLegendFileJson_, pathLegendStrJson);
451 
452  fmt_->m_data.macrostate_ = FastMonState::sJobReady;
453 
454  //update number of entries in module histogram
455  std::lock_guard<std::mutex> lock(fmt_->monlock_);
456  //double the size to add post-acquire states
457  fmt_->m_data.microstateBins_ = fmt_->m_data.encModule_.vecsize() * 2;
458  }

References fmt_, inputLegendFileJson_, CommonMethods::lock(), makeInputLegendaJson(), makeModuleLegendaJson(), makePathLegendaJson(), moduleLegendFileJson_, pathLegendFileJson_, evf::FastMonState::sJobReady, and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by FastMonitoringService().

◆ postEndJob()

void evf::FastMonitoringService::postEndJob ( )

Definition at line 460 of file FastMonitoringService.cc.

460  {
461  fmt_->m_data.macrostate_ = FastMonState::sJobEnded;
462  fmt_->stop();
463  }

References fmt_, and evf::FastMonState::sJobEnded.

Referenced by FastMonitoringService().

◆ postEvent()

void evf::FastMonitoringService::postEvent ( edm::StreamContext const &  sc)

Definition at line 613 of file FastMonitoringService.cc.

613  {
614  fmt_->m_data.microstate_[sc.streamID()] = &reservedMicroStateNames[FastMonState::mIdle];
615 
616  fmt_->m_data.ministate_[sc.streamID()] = &nopath_;
617 
618  (*(fmt_->m_data.processed_[sc.streamID()]))++;
619 
620  //fast path counter (events accumulated in a run)
621  unsigned long res = totalEventsProcessed_.fetch_add(1, std::memory_order_relaxed);
622  fmt_->m_data.fastPathProcessedJ_ = res + 1;
623  }

References fmt_, evf::FastMonState::mIdle, nopath_, reservedMicroStateNames, edm::StreamContext::streamID(), and totalEventsProcessed_.

Referenced by FastMonitoringService().

◆ postGlobalBeginRun()

void evf::FastMonitoringService::postGlobalBeginRun ( edm::GlobalContext const &  gc)

Definition at line 465 of file FastMonitoringService.cc.

465  {
466  fmt_->m_data.macrostate_ = FastMonState::sRunning;
467  isInitTransition_ = false;
468  }

References fmt_, isInitTransition_, and evf::FastMonState::sRunning.

◆ postGlobalEndLumi()

void evf::FastMonitoringService::postGlobalEndLumi ( edm::GlobalContext const &  gc)

Definition at line 563 of file FastMonitoringService.cc.

563  {
564  std::lock_guard<std::mutex> lock(fmt_->monlock_);
565  unsigned int lumi = gc.luminosityBlockID().luminosityBlock();
566  //LS monitoring snapshot with input source data has been taken in previous callback
567  avgLeadTime_.erase(lumi);
569  lockStatsDuringLumi_.erase(lumi);
570 
571  //output module already used this in end lumi (this could be migrated to EvFDaqDirector as it is essential for FFF bookkeeping)
573  }

References avgLeadTime_, filesProcessedDuringLumi_, fmt_, CommonMethods::lock(), lockStatsDuringLumi_, edm::LuminosityBlockID::luminosityBlock(), edm::GlobalContext::luminosityBlockID(), and processedEventsPerLumi_.

Referenced by FastMonitoringService().

◆ postModuleEvent()

void evf::FastMonitoringService::postModuleEvent ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 649 of file FastMonitoringService.cc.

649  {
650  fmt_->m_data.microstate_[sc.streamID().value()] = &reservedMicroStateNames[FastMonState::mFwkOvhMod];
651  }

References fmt_, evf::FastMonState::mFwkOvhMod, reservedMicroStateNames, edm::StreamContext::streamID(), and edm::StreamID::value().

Referenced by FastMonitoringService().

◆ postModuleEventAcquire()

void evf::FastMonitoringService::postModuleEventAcquire ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 638 of file FastMonitoringService.cc.

639  {
640  //fmt_->m_data.microstate_[sc.streamID().value()] = (void*)(mcc.moduleDescription());
641  fmt_->m_data.microstateAcqFlag_[sc.streamID().value()] = 1;
642  }

References fmt_, edm::StreamContext::streamID(), and edm::StreamID::value().

Referenced by FastMonitoringService().

◆ postSourceEvent()

void evf::FastMonitoringService::postSourceEvent ( edm::StreamID  sid)

Definition at line 629 of file FastMonitoringService.cc.

629  {
630  fmt_->m_data.microstate_[sid.value()] = &reservedMicroStateNames[FastMonState::mFwkOvhSrc];
631  }

References fmt_, evf::FastMonState::mFwkOvhSrc, reservedMicroStateNames, and edm::StreamID::value().

Referenced by FastMonitoringService().

◆ postStreamBeginLumi()

void evf::FastMonitoringService::postStreamBeginLumi ( edm::StreamContext const &  sc)

Definition at line 588 of file FastMonitoringService.cc.

588  {
589  fmt_->m_data.microstate_[sc.streamID().value()] = &reservedMicroStateNames[FastMonState::mIdle];
590  }

References fmt_, evf::FastMonState::mIdle, reservedMicroStateNames, edm::StreamContext::streamID(), and edm::StreamID::value().

Referenced by FastMonitoringService().

◆ postStreamEndLumi()

void evf::FastMonitoringService::postStreamEndLumi ( edm::StreamContext const &  sc)

Definition at line 603 of file FastMonitoringService.cc.

603  {
604  fmt_->m_data.microstate_[sc.streamID().value()] = &reservedMicroStateNames[FastMonState::mFwkEoL];
605  }

References fmt_, evf::FastMonState::mFwkEoL, reservedMicroStateNames, edm::StreamContext::streamID(), and edm::StreamID::value().

Referenced by FastMonitoringService().

◆ preallocate()

void evf::FastMonitoringService::preallocate ( edm::service::SystemBounds const &  bounds)

Definition at line 241 of file FastMonitoringService.cc.

241  {
242  nStreams_ = bounds.maxNumberOfStreams();
243  nThreads_ = bounds.maxNumberOfThreads();
244  //this should already be >=1
245  if (nStreams_ == 0)
246  nStreams_ = 1;
247  if (nThreads_ == 0)
248  nThreads_ = 1;
249  }

References edm::service::SystemBounds::maxNumberOfStreams(), edm::service::SystemBounds::maxNumberOfThreads(), nStreams_, and nThreads_.

Referenced by FastMonitoringService().

◆ preBeginJob()

void evf::FastMonitoringService::preBeginJob ( edm::PathsAndConsumesOfModulesBase const &  pathsInfo,
edm::ProcessContext const &  pc 
)

Definition at line 251 of file FastMonitoringService.cc.

252  {
253  // FIND RUN DIRECTORY
254  // The run dir should be set via the configuration of EvFDaqDirector
255 
256  if (edm::Service<evf::EvFDaqDirector>().operator->() == nullptr) {
257  throw cms::Exception("FastMonitoringService") << "EvFDaqDirector is not present";
258  }
259  std::filesystem::path runDirectory{edm::Service<evf::EvFDaqDirector>()->baseRunDir()};
260  workingDirectory_ = runDirectory_ = runDirectory;
261  workingDirectory_ /= "mon";
262 
263  if (!std::filesystem::is_directory(workingDirectory_)) {
264  LogDebug("FastMonitoringService") << "<MON> DIR NOT FOUND! Trying to create -: " << workingDirectory_.string();
265  std::filesystem::create_directories(workingDirectory_);
266  if (!std::filesystem::is_directory(workingDirectory_))
267  edm::LogWarning("FastMonitoringService") << "Unable to create <MON> DIR -: " << workingDirectory_.string()
268  << ". No monitoring data will be written.";
269  }
270 
271  std::ostringstream fastFileName;
272 
273  fastFileName << fastName_ << "_pid" << std::setfill('0') << std::setw(5) << getpid() << ".fast";
275  fast /= fastFileName.str();
276  fastPath_ = fast.string();
277  if (filePerFwkStream_)
278  for (unsigned int i = 0; i < nStreams_; i++) {
279  std::ostringstream fastFileNameTid;
280  fastFileNameTid << fastName_ << "_pid" << std::setfill('0') << std::setw(5) << getpid() << "_tid" << i
281  << ".fast";
283  fastTid /= fastFileNameTid.str();
284  fastPathList_.push_back(fastTid.string());
285  }
286 
287  std::ostringstream moduleLegFile;
288  std::ostringstream moduleLegFileJson;
289  moduleLegFile << "microstatelegend_pid" << std::setfill('0') << std::setw(5) << getpid() << ".leg";
290  moduleLegFileJson << "microstatelegend_pid" << std::setfill('0') << std::setw(5) << getpid() << ".jsn";
291  moduleLegendFile_ = (workingDirectory_ / moduleLegFile.str()).string();
292  moduleLegendFileJson_ = (workingDirectory_ / moduleLegFileJson.str()).string();
293 
294  std::ostringstream pathLegFile;
295  std::ostringstream pathLegFileJson;
296  pathLegFile << "pathlegend_pid" << std::setfill('0') << std::setw(5) << getpid() << ".leg";
297  pathLegendFile_ = (workingDirectory_ / pathLegFile.str()).string();
298  pathLegFileJson << "pathlegend_pid" << std::setfill('0') << std::setw(5) << getpid() << ".jsn";
299  pathLegendFileJson_ = (workingDirectory_ / pathLegFileJson.str()).string();
300 
301  std::ostringstream inputLegFileJson;
302  inputLegFileJson << "inputlegend_pid" << std::setfill('0') << std::setw(5) << getpid() << ".jsn";
303  inputLegendFileJson_ = (workingDirectory_ / inputLegFileJson.str()).string();
304 
305  LogDebug("FastMonitoringService") << "Initializing FastMonitor with microstate def path -: " << microstateDefPath_;
306  //<< encPath_.current_ + 1 << " " << encModule_.current_ + 1
307 
308  /*
309  * initialize the fast monitor with:
310  * vector of pointers to monitorable parameters
311  * path to definition
312  *
313  */
314 
315  fmt_->m_data.macrostate_ = FastMonState::sInit;
316 
317  for (unsigned int i = 0; i < (FastMonState::mCOUNT); i++)
318  fmt_->m_data.encModule_.updateReserved(static_cast<const void*>(reservedMicroStateNames + i));
319  fmt_->m_data.encModule_.completeReservedWithDummies();
320 
321  for (unsigned int i = 0; i < nStreams_; i++) {
322  fmt_->m_data.ministate_.emplace_back(&nopath_);
323  fmt_->m_data.microstate_.emplace_back(&reservedMicroStateNames[FastMonState::mInvalid]);
324  fmt_->m_data.microstateAcqFlag_.push_back(0);
325 
326  //for synchronization
327  streamCounterUpdating_.push_back(new std::atomic<bool>(false));
328 
329  //path (mini) state
330  fmt_->m_data.encPath_.emplace_back(0);
331  fmt_->m_data.encPath_[i].update(static_cast<const void*>(&nopath_));
332 
333  for (auto& path : pathsInfo.paths()) {
334  fmt_->m_data.encPath_[i].updatePreinit(path);
335  }
336  for (auto& endPath : pathsInfo.endPaths()) {
337  fmt_->m_data.encPath_[i].updatePreinit(endPath);
338  }
339  }
340  //for (unsigned int i=0;i<nThreads_;i++)
341  // threadMicrostate_.push_back(&reservedMicroStateNames[mInvalid]);
342 
343  //initial size until we detect number of bins
344  fmt_->m_data.macrostateBins_ = FastMonState::MCOUNT;
345  fmt_->m_data.microstateBins_ = 0;
346  fmt_->m_data.inputstateBins_ = FastMonState::inCOUNT;
347  fmt_->m_data.ministateBins_ = fmt_->m_data.encPath_[0].vecsize();
348 
349  lastGlobalLumi_ = 0;
350  isInitTransition_ = true;
351  lumiFromSource_ = 0;
352 
353  //startup monitoring
354  fmt_->resetFastMonitor(microstateDefPath_, fastMicrostateDefPath_);
355  fmt_->jsonMonitor_->setNStreams(nStreams_);
356  fmt_->m_data.registerVariables(fmt_->jsonMonitor_.get(), nStreams_, threadIDAvailable_ ? nThreads_ : 0);
357  monInit_.store(false, std::memory_order_release);
358  if (sleepTime_ > 0)
360 
361  //this definition needs: #include "tbb/compat/thread"
362  //however this would results in TBB imeplementation replacing std::thread
363  //(both supposedly call pthread_self())
364  //number of threads created in process could be obtained from /proc,
365  //assuming that all posix threads are true kernel threads capable of running in parallel
366 
367  //#if TBB_IMPLEMENT_CPP0X
369  //threadIDAvailable_=true;
370  //#endif
371  }

References edm::PathsAndConsumesOfModulesBase::endPaths(), Exception, fastMicrostateDefPath_, fastName_, fastPath_, fastPathList_, filePerFwkStream_, fmt_, mps_fire::i, evf::FastMonState::inCOUNT, inputLegendFileJson_, isInitTransition_, lastGlobalLumi_, LogDebug, lumiFromSource_, evf::FastMonState::mCOUNT, evf::FastMonState::MCOUNT, microstateDefPath_, evf::FastMonState::mInvalid, moduleLegendFile_, moduleLegendFileJson_, monInit_, nopath_, nStreams_, nThreads_, Utilities::operator, castor_dqm_sourceclient_file_cfg::path, pathLegendFile_, pathLegendFileJson_, edm::PathsAndConsumesOfModulesBase::paths(), reservedMicroStateNames, runDirectory_, evf::FastMonState::sInit, sleepTime_, snapshotRunner(), streamCounterUpdating_, threadIDAvailable_, and workingDirectory_.

Referenced by FastMonitoringService().

◆ preEvent()

void evf::FastMonitoringService::preEvent ( edm::StreamContext const &  sc)

Definition at line 611 of file FastMonitoringService.cc.

611 {}

Referenced by FastMonitoringService().

◆ preGlobalBeginLumi()

void evf::FastMonitoringService::preGlobalBeginLumi ( edm::GlobalContext const &  gc)

Definition at line 470 of file FastMonitoringService.cc.

470  {
471  timeval lumiStartTime;
472  gettimeofday(&lumiStartTime, nullptr);
473  unsigned int newLumi = gc.luminosityBlockID().luminosityBlock();
474  lastGlobalLumi_ = newLumi;
475 
476  std::lock_guard<std::mutex> lock(fmt_->monlock_);
477  lumiStartTime_[newLumi] = lumiStartTime;
478  }

References fmt_, lastGlobalLumi_, CommonMethods::lock(), edm::LuminosityBlockID::luminosityBlock(), edm::GlobalContext::luminosityBlockID(), and lumiStartTime_.

Referenced by FastMonitoringService().

◆ preGlobalEarlyTermination()

void evf::FastMonitoringService::preGlobalEarlyTermination ( edm::GlobalContext const &  gc,
edm::TerminationOrigin  to 
)

Definition at line 388 of file FastMonitoringService.cc.

388  {
389  std::string context;
391  context = " FromThisContext ";
393  context = " FromAnotherContext";
395  context = " FromExternalSignal";
396  edm::LogWarning("FastMonitoringService")
397  << " GLOBAL "
398  << "earlyTermination -: LS:" << gc.luminosityBlockID().luminosityBlock() << " " << context;
399  std::lock_guard<std::mutex> lock(fmt_->monlock_);
400  exceptionInLS_.push_back(gc.luminosityBlockID().luminosityBlock());
401  }

References edm::ExceptionFromAnotherContext, edm::ExceptionFromThisContext, exceptionInLS_, edm::ExternalSignal, fmt_, CommonMethods::lock(), edm::LuminosityBlockID::luminosityBlock(), edm::GlobalContext::luminosityBlockID(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by FastMonitoringService().

◆ preGlobalEndLumi()

void evf::FastMonitoringService::preGlobalEndLumi ( edm::GlobalContext const &  gc)

Definition at line 480 of file FastMonitoringService.cc.

480  {
481  unsigned int lumi = gc.luminosityBlockID().luminosityBlock();
482  LogDebug("FastMonitoringService") << "Lumi ended. Writing JSON information. LUMI -: " << lumi;
483  timeval lumiStopTime;
484  gettimeofday(&lumiStopTime, nullptr);
485 
486  std::lock_guard<std::mutex> lock(fmt_->monlock_);
487 
488  // Compute throughput
489  timeval stt = lumiStartTime_[lumi];
490  lumiStartTime_.erase(lumi);
491  unsigned long usecondsForLumi = (lumiStopTime.tv_sec - stt.tv_sec) * 1000000 + (lumiStopTime.tv_usec - stt.tv_usec);
492  unsigned long accuSize = accuSize_.find(lumi) == accuSize_.end() ? 0 : accuSize_[lumi];
493  accuSize_.erase(lumi);
494  double throughput = throughputFactor() * double(accuSize) / double(usecondsForLumi);
495  //store to registered variable
496  fmt_->m_data.fastThroughputJ_.value() = throughput;
497 
498  //update
499  doSnapshot(lumi, true);
500 
501  //retrieve one result we need (todo: sanity check if it's found)
502  IntJ* lumiProcessedJptr = dynamic_cast<IntJ*>(fmt_->jsonMonitor_->getMergedIntJForLumi("Processed", lumi));
503  if (!lumiProcessedJptr)
504  throw cms::Exception("FastMonitoringService") << "Internal error: got null pointer from FastMonitor";
505  processedEventsPerLumi_[lumi] = std::pair<unsigned int, bool>(lumiProcessedJptr->value(), false);
506 
507  //checking if exception has been thrown (in case of Global/Stream early termination, for this LS)
508  bool exception_detected = exception_detected_;
509  for (auto ex : exceptionInLS_)
510  if (lumi == ex)
511  exception_detected = true;
512 
513  if (edm::shutdown_flag || exception_detected) {
514  edm::LogInfo("FastMonitoringService")
515  << "Run interrupted. Skip writing EoL information -: " << processedEventsPerLumi_[lumi].first
516  << " events were processed in LUMI " << lumi;
517  //this will prevent output modules from producing json file for possibly incomplete lumi
518  processedEventsPerLumi_[lumi].first = 0;
519  processedEventsPerLumi_[lumi].second = true;
520  //disable this exception, so service can be used standalone (will be thrown if output module asks for this information)
521  //throw cms::Exception("FastMonitoringService") << "SOURCE did not send update for lumi block. LUMI -:" << lumi;
522  return;
523  }
524 
525  if (inputSource_) {
526  auto sourceReport = inputSource_->getEventReport(lumi, true);
527  if (sourceReport.first) {
528  if (sourceReport.second != processedEventsPerLumi_[lumi].first) {
529  throw cms::Exception("FastMonitoringService") << "MISMATCH with SOURCE update. LUMI -: " << lumi
530  << ", events(processed):" << processedEventsPerLumi_[lumi].first
531  << " events(source):" << sourceReport.second;
532  }
533  }
534  }
535  edm::LogInfo("FastMonitoringService")
536  << "Statistics for lumisection -: lumi = " << lumi << " events = " << lumiProcessedJptr->value()
537  << " time = " << usecondsForLumi / 1000000 << " size = " << accuSize << " thr = " << throughput;
538  delete lumiProcessedJptr;
539 
540  //full global and stream merge&output for this lumi
541 
542  // create file name for slow monitoring file
543  bool output = sleepTime_ > 0;
544  if (filePerFwkStream_) {
545  std::stringstream slowFileNameStem;
546  slowFileNameStem << slowName_ << "_ls" << std::setfill('0') << std::setw(4) << lumi << "_pid" << std::setfill('0')
547  << std::setw(5) << getpid();
549  slow /= slowFileNameStem.str();
550  fmt_->jsonMonitor_->outputFullJSONs(slow.string(), ".jsn", lumi, output);
551  } else {
552  std::stringstream slowFileName;
553  slowFileName << slowName_ << "_ls" << std::setfill('0') << std::setw(4) << lumi << "_pid" << std::setfill('0')
554  << std::setw(5) << getpid() << ".jsn";
556  slow /= slowFileName.str();
557  //full global and stream merge and JSON write for this lumi
558  fmt_->jsonMonitor_->outputFullJSON(slow.string(), lumi, output);
559  }
560  fmt_->jsonMonitor_->discardCollected(lumi); //we don't do further updates for this lumi
561  }

References accuSize_, doSnapshot(), Exception, exception_detected_, exceptionInLS_, filePerFwkStream_, fmt_, FedRawDataInputSource::getEventReport(), inputSource_, CommonMethods::lock(), LogDebug, BXlumiParameters_cfi::lumi, edm::LuminosityBlockID::luminosityBlock(), edm::GlobalContext::luminosityBlockID(), lumiStartTime_, convertSQLitetoXML_cfg::output, castor_dqm_sourceclient_file_cfg::path, processedEventsPerLumi_, edm::shutdown_flag, sleepTime_, slowName_, throughputFactor(), jsoncollector::IntJ::value(), and workingDirectory_.

Referenced by FastMonitoringService().

◆ preModuleBeginJob()

void evf::FastMonitoringService::preModuleBeginJob ( edm::ModuleDescription const &  desc)

Definition at line 427 of file FastMonitoringService.cc.

427  {
428  std::lock_guard<std::mutex> lock(fmt_->monlock_);
429  //std::cout << " Pre module Begin Job module: " << desc.moduleName() << std::endl;
430 
431  //build a map of modules keyed by their module description address
432  //here we need to treat output modules in a special way so they can be easily singled out
433  if (desc.moduleName() == "Stream" || desc.moduleName() == "ShmStreamConsumer" ||
434  desc.moduleName() == "EvFOutputModule" || desc.moduleName() == "EventStreamFileWriter" ||
435  desc.moduleName() == "PoolOutputModule") {
436  fmt_->m_data.encModule_.updateReserved((void*)&desc);
437  nOutputModules_++;
438  } else
439  fmt_->m_data.encModule_.update((void*)&desc);
440  }

References submitPVResolutionJobs::desc, fmt_, CommonMethods::lock(), and nOutputModules_.

Referenced by FastMonitoringService().

◆ preModuleEvent()

void evf::FastMonitoringService::preModuleEvent ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 644 of file FastMonitoringService.cc.

644  {
645  fmt_->m_data.microstate_[sc.streamID().value()] = (void*)(mcc.moduleDescription());
646  fmt_->m_data.microstateAcqFlag_[sc.streamID().value()] = 0;
647  }

References fmt_, edm::ModuleCallingContext::moduleDescription(), edm::StreamContext::streamID(), and edm::StreamID::value().

Referenced by FastMonitoringService().

◆ preModuleEventAcquire()

void evf::FastMonitoringService::preModuleEventAcquire ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)

Definition at line 633 of file FastMonitoringService.cc.

634  {
635  fmt_->m_data.microstate_[sc.streamID().value()] = (void*)(mcc.moduleDescription());
636  }

References fmt_, edm::ModuleCallingContext::moduleDescription(), edm::StreamContext::streamID(), and edm::StreamID::value().

Referenced by FastMonitoringService().

◆ prePathEvent()

void evf::FastMonitoringService::prePathEvent ( edm::StreamContext const &  sc,
edm::PathContext const &  pc 
)

Definition at line 607 of file FastMonitoringService.cc.

607  {
608  fmt_->m_data.ministate_[sc.streamID()] = &(pc.pathName());
609  }

References fmt_, edm::PathContext::pathName(), and edm::StreamContext::streamID().

Referenced by FastMonitoringService().

◆ preSourceEarlyTermination()

void evf::FastMonitoringService::preSourceEarlyTermination ( edm::TerminationOrigin  to)

Definition at line 403 of file FastMonitoringService.cc.

403  {
404  std::string context;
406  context = " FromThisContext ";
408  context = " FromAnotherContext";
410  context = " FromExternalSignal";
411  edm::LogWarning("FastMonitoringService") << " SOURCE "
412  << "earlyTermination -: " << context;
413  std::lock_guard<std::mutex> lock(fmt_->monlock_);
414  exception_detected_ = true;
415  }

References exception_detected_, edm::ExceptionFromAnotherContext, edm::ExceptionFromThisContext, edm::ExternalSignal, fmt_, CommonMethods::lock(), and AlCaHLTBitMon_QueryRunRegistry::string.

Referenced by FastMonitoringService().

◆ preSourceEvent()

void evf::FastMonitoringService::preSourceEvent ( edm::StreamID  sid)

Definition at line 625 of file FastMonitoringService.cc.

625  {
626  fmt_->m_data.microstate_[sid.value()] = &reservedMicroStateNames[FastMonState::mInput];
627  }

References fmt_, evf::FastMonState::mInput, reservedMicroStateNames, and edm::StreamID::value().

Referenced by FastMonitoringService().

◆ preStreamBeginLumi()

void evf::FastMonitoringService::preStreamBeginLumi ( edm::StreamContext const &  sc)

Definition at line 575 of file FastMonitoringService.cc.

575  {
576  unsigned int sid = sc.streamID().value();
577 
578  std::lock_guard<std::mutex> lock(fmt_->monlock_);
579  fmt_->m_data.streamLumi_[sid] = sc.eventID().luminosityBlock();
580 
581  //reset collected values for this stream
582  *(fmt_->m_data.processed_[sid]) = 0;
583 
584  fmt_->m_data.ministate_[sid] = &nopath_;
585  fmt_->m_data.microstate_[sid] = &reservedMicroStateNames[FastMonState::mBoL];
586  }

References edm::StreamContext::eventID(), fmt_, CommonMethods::lock(), edm::EventID::luminosityBlock(), evf::FastMonState::mBoL, nopath_, reservedMicroStateNames, edm::StreamContext::streamID(), and edm::StreamID::value().

Referenced by FastMonitoringService().

◆ preStreamEarlyTermination()

void evf::FastMonitoringService::preStreamEarlyTermination ( edm::StreamContext const &  sc,
edm::TerminationOrigin  to 
)

Definition at line 373 of file FastMonitoringService.cc.

373  {
374  std::string context;
376  context = " FromThisContext ";
378  context = " FromAnotherContext";
380  context = " FromExternalSignal";
381  edm::LogWarning("FastMonitoringService")
382  << " STREAM " << sc.streamID().value() << " earlyTermination -: ID:" << sc.eventID()
383  << " LS:" << sc.eventID().luminosityBlock() << " " << context;
384  std::lock_guard<std::mutex> lock(fmt_->monlock_);
385  exceptionInLS_.push_back(sc.eventID().luminosityBlock());
386  }

References edm::StreamContext::eventID(), edm::ExceptionFromAnotherContext, edm::ExceptionFromThisContext, exceptionInLS_, edm::ExternalSignal, fmt_, CommonMethods::lock(), edm::EventID::luminosityBlock(), edm::StreamContext::streamID(), AlCaHLTBitMon_QueryRunRegistry::string, and edm::StreamID::value().

Referenced by FastMonitoringService().

◆ preStreamEndLumi()

void evf::FastMonitoringService::preStreamEndLumi ( edm::StreamContext const &  sc)

Definition at line 592 of file FastMonitoringService.cc.

592  {
593  unsigned int sid = sc.streamID().value();
594  std::lock_guard<std::mutex> lock(fmt_->monlock_);
595 
596  //update processed count to be complete at this time
597  //doStreamEOLSnapshot(sc.eventID().luminosityBlock(), sid);
598  fmt_->jsonMonitor_->snapStreamAtomic(sc.eventID().luminosityBlock(), sid);
599  //reset this in case stream does not get notified of next lumi (we keep processed events only)
600  fmt_->m_data.ministate_[sid] = &nopath_;
601  fmt_->m_data.microstate_[sid] = &reservedMicroStateNames[FastMonState::mEoL];
602  }

References edm::StreamContext::eventID(), fmt_, CommonMethods::lock(), edm::EventID::luminosityBlock(), evf::FastMonState::mEoL, nopath_, reservedMicroStateNames, edm::StreamContext::streamID(), and edm::StreamID::value().

Referenced by FastMonitoringService().

◆ reportLockWait()

void evf::FastMonitoringService::reportLockWait ( unsigned int  ls,
double  waitTime,
unsigned int  lockCount 
)

Definition at line 718 of file FastMonitoringService.cc.

718  {
719  std::lock_guard<std::mutex> lock(fmt_->monlock_);
720  lockStatsDuringLumi_[ls] = std::pair<double, unsigned int>(waitTime, lockCount);
721  }

References fmt_, CommonMethods::lock(), lockStatsDuringLumi_, and eostools::ls().

Referenced by FedRawDataInputSource::readSupervisor().

◆ setExceptionDetected()

void evf::FastMonitoringService::setExceptionDetected ( unsigned int  ls)

Definition at line 417 of file FastMonitoringService.cc.

417  {
418  if (!ls)
419  exception_detected_ = true;
420  else
421  exceptionInLS_.push_back(ls);
422  }

References exception_detected_, exceptionInLS_, and eostools::ls().

Referenced by FedRawDataInputSource::getNextEvent().

◆ setInputSource()

void evf::FastMonitoringService::setInputSource ( FedRawDataInputSource inputSource)
inline

Definition at line 217 of file FastMonitoringService.h.

217 { inputSource_ = inputSource; }

References inputSource_.

Referenced by FedRawDataInputSource::FedRawDataInputSource().

◆ setInState()

void evf::FastMonitoringService::setInState ( FastMonState::InputState  inputState)
inline

Definition at line 218 of file FastMonitoringService.h.

218 { inputState_ = inputState; }

References inputState_.

Referenced by FedRawDataInputSource::FedRawDataInputSource(), and FedRawDataInputSource::setMonState().

◆ setInStateSup()

void evf::FastMonitoringService::setInStateSup ( FastMonState::InputState  inputState)
inline

◆ setMicroState() [1/2]

void evf::FastMonitoringService::setMicroState ( edm::StreamID  sid,
FastMonState::Microstate  m 
)

Definition at line 663 of file FastMonitoringService.cc.

663  {
664  fmt_->m_data.microstate_[sid] = &reservedMicroStateNames[m];
665  }

References fmt_, visualization-live-secondInstance_cfg::m, and reservedMicroStateNames.

◆ setMicroState() [2/2]

void evf::FastMonitoringService::setMicroState ( FastMonState::Microstate  m)

Definition at line 657 of file FastMonitoringService.cc.

657  {
658  for (unsigned int i = 0; i < nStreams_; i++)
659  fmt_->m_data.microstate_[i] = &reservedMicroStateNames[m];
660  }

References fmt_, mps_fire::i, visualization-live-secondInstance_cfg::m, nStreams_, and reservedMicroStateNames.

◆ shouldWriteFiles()

bool evf::FastMonitoringService::shouldWriteFiles ( unsigned int  lumi,
unsigned int *  proc = nullptr 
)
inline

◆ snapshotRunner()

void evf::FastMonitoringService::snapshotRunner ( )
private

Definition at line 758 of file FastMonitoringService.cc.

758  {
759  monInit_.exchange(true, std::memory_order_acquire);
760  while (!fmt_->m_stoprequest) {
761  std::vector<std::vector<unsigned int>> lastEnc;
762  {
763  std::lock_guard<std::mutex> lock(fmt_->monlock_);
764 
765  doSnapshot(lastGlobalLumi_, false);
766 
767  lastEnc.emplace_back(fmt_->m_data.ministateEncoded_);
768  lastEnc.emplace_back(fmt_->m_data.microstateEncoded_);
769 
771  if (filePerFwkStream_) {
772  std::vector<std::string> CSVv;
773  for (unsigned int i = 0; i < nStreams_; i++) {
774  CSVv.push_back(fmt_->jsonMonitor_->getCSVString((int)i));
775  }
776  fmt_->monlock_.unlock();
777  for (unsigned int i = 0; i < nStreams_; i++) {
778  if (!CSVv[i].empty())
779  fmt_->jsonMonitor_->outputCSV(fastPathList_[i], CSVv[i]);
780  }
781  } else {
782  std::string CSV = fmt_->jsonMonitor_->getCSVString();
783  //release mutex before writing out fast path file
784  fmt_->monlock_.unlock();
785  if (!CSV.empty())
786  fmt_->jsonMonitor_->outputCSV(fastPath_, CSV);
787  }
788  }
789  snapCounter_++;
790  }
791 
792  std::stringstream accum;
793  std::function<void(std::vector<unsigned int>)> f = [&](std::vector<unsigned int> p) {
794  for (unsigned int i = 0; i < nStreams_; i++) {
795  if (i == 0)
796  accum << "[" << p[i] << ",";
797  else if (i <= nStreams_ - 1)
798  accum << p[i] << ",";
799  else
800  accum << p[i] << "]";
801  }
802  };
803 
804  accum << "Current states: Ms=" << fmt_->m_data.fastMacrostateJ_.value() << " ms=";
805  f(lastEnc[0]);
806  accum << " us=";
807  f(lastEnc[1]);
808  accum << " is=" << inputStateNames[inputState_] << " iss=" << inputStateNames[inputSupervisorState_];
809  edm::LogInfo("FastMonitoringService") << accum.str();
810 
811  ::sleep(sleepTime_);
812  }
813  }

References doSnapshot(), relativeConstraints::empty, f, fastMonIntervals_, fastPath_, fastPathList_, filePerFwkStream_, fmt_, HiBiasedCentrality_cfi::function, mps_fire::i, inputState_, inputStateNames, inputSupervisorState_, lastGlobalLumi_, CommonMethods::lock(), monInit_, nStreams_, AlCaHLTBitMon_ParallelJobs::p, sleepTime_, snapCounter_, AlCaHLTBitMon_QueryRunRegistry::string, and funct::void.

Referenced by preBeginJob().

◆ startedLookingForFile()

void evf::FastMonitoringService::startedLookingForFile ( )

Definition at line 682 of file FastMonitoringService.cc.

682  {
683  gettimeofday(&fileLookStart_, nullptr);
684  /*
685  std::cout << "Started looking for .raw file at: s=" << fileLookStart_.tv_sec << ": ms = "
686  << fileLookStart_.tv_usec / 1000.0 << std::endl;
687  */
688  }

References fileLookStart_.

Referenced by FedRawDataInputSource::readSupervisor().

◆ stoppedLookingForFile()

void evf::FastMonitoringService::stoppedLookingForFile ( unsigned int  lumi)

Definition at line 690 of file FastMonitoringService.cc.

690  {
691  gettimeofday(&fileLookStop_, nullptr);
692  /*
693  std::cout << "Stopped looking for .raw file at: s=" << fileLookStop_.tv_sec << ": ms = "
694  << fileLookStop_.tv_usec / 1000.0 << std::endl;
695  */
696  std::lock_guard<std::mutex> lock(fmt_->monlock_);
697 
698  if (lumi > lumiFromSource_) {
700  leadTimes_.clear();
701  }
702  unsigned long elapsedTime = (fileLookStop_.tv_sec - fileLookStart_.tv_sec) * 1000000 // sec to us
703  + (fileLookStop_.tv_usec - fileLookStart_.tv_usec); // us
704  // add this to lead times for this lumi
705  leadTimes_.push_back((double)elapsedTime);
706 
707  // recompute average lead time for this lumi
708  if (leadTimes_.size() == 1)
710  else {
711  double totTime = 0;
712  for (unsigned int i = 0; i < leadTimes_.size(); i++)
713  totTime += leadTimes_[i];
714  avgLeadTime_[lumi] = 0.001 * (totTime / leadTimes_.size());
715  }
716  }

References avgLeadTime_, fileLookStart_, fileLookStop_, fmt_, mps_fire::i, leadTimes_, CommonMethods::lock(), BXlumiParameters_cfi::lumi, and lumiFromSource_.

Referenced by FedRawDataInputSource::readSupervisor().

Member Data Documentation

◆ accuSize_

std::map<unsigned int, unsigned long> evf::FastMonitoringService::accuSize_
private

Definition at line 257 of file FastMonitoringService.h.

Referenced by accumulateFileSize(), and preGlobalEndLumi().

◆ avgLeadTime_

std::map<unsigned int, double> evf::FastMonitoringService::avgLeadTime_
private

Definition at line 254 of file FastMonitoringService.h.

Referenced by doSnapshot(), postGlobalEndLumi(), and stoppedLookingForFile().

◆ collectedPathList_

std::vector<std::atomic<bool>*> evf::FastMonitoringService::collectedPathList_
private

Definition at line 268 of file FastMonitoringService.h.

◆ exception_detected_

bool evf::FastMonitoringService::exception_detected_ = false
private

◆ exceptionInLS_

std::vector<unsigned int> evf::FastMonitoringService::exceptionInLS_
private

◆ fastMicrostateDefPath_

std::string evf::FastMonitoringService::fastMicrostateDefPath_
private

Definition at line 239 of file FastMonitoringService.h.

Referenced by FastMonitoringService(), and preBeginJob().

◆ fastMonIntervals_

unsigned int evf::FastMonitoringService::fastMonIntervals_
private

Definition at line 237 of file FastMonitoringService.h.

Referenced by snapshotRunner().

◆ fastName_

std::string evf::FastMonitoringService::fastName_
private

Definition at line 240 of file FastMonitoringService.h.

Referenced by preBeginJob().

◆ fastPath_

std::string evf::FastMonitoringService::fastPath_
private

Definition at line 240 of file FastMonitoringService.h.

Referenced by preBeginJob(), and snapshotRunner().

◆ fastPathList_

std::vector<std::string> evf::FastMonitoringService::fastPathList_
private

Definition at line 287 of file FastMonitoringService.h.

Referenced by preBeginJob(), and snapshotRunner().

◆ fileLookStart_

timeval evf::FastMonitoringService::fileLookStart_
private

Definition at line 246 of file FastMonitoringService.h.

Referenced by startedLookingForFile(), and stoppedLookingForFile().

◆ fileLookStop_

timeval evf::FastMonitoringService::fileLookStop_
private

Definition at line 246 of file FastMonitoringService.h.

Referenced by stoppedLookingForFile().

◆ filePerFwkStream_

bool evf::FastMonitoringService::filePerFwkStream_
private

Definition at line 241 of file FastMonitoringService.h.

Referenced by preBeginJob(), preGlobalEndLumi(), and snapshotRunner().

◆ filesProcessedDuringLumi_

std::map<unsigned int, unsigned int> evf::FastMonitoringService::filesProcessedDuringLumi_
private

Definition at line 255 of file FastMonitoringService.h.

Referenced by accumulateFileSize(), doSnapshot(), and postGlobalEndLumi().

◆ fmt_

std::shared_ptr<FastMonitoringThread> evf::FastMonitoringService::fmt_
private

◆ inputLegendFileJson_

std::string evf::FastMonitoringService::inputLegendFileJson_
private

Definition at line 281 of file FastMonitoringService.h.

Referenced by postBeginJob(), and preBeginJob().

◆ inputSource_

FedRawDataInputSource* evf::FastMonitoringService::inputSource_ = nullptr
private

Definition at line 230 of file FastMonitoringService.h.

Referenced by preGlobalEndLumi(), and setInputSource().

◆ inputState_

std::atomic<FastMonState::InputState> evf::FastMonitoringService::inputState_ {FastMonState::InputState::inInit}
private

Definition at line 231 of file FastMonitoringService.h.

Referenced by doSnapshot(), setInState(), and snapshotRunner().

◆ inputStateNames

const std::string evf::FastMonitoringService::inputStateNames
static

Definition at line 158 of file FastMonitoringService.h.

Referenced by makeInputLegendaJson(), and snapshotRunner().

◆ inputSupervisorState_

std::atomic<FastMonState::InputState> evf::FastMonitoringService::inputSupervisorState_ {FastMonState::InputState::inInit}
private

Definition at line 232 of file FastMonitoringService.h.

Referenced by doSnapshot(), setInStateSup(), and snapshotRunner().

◆ isInitTransition_

std::atomic<bool> evf::FastMonitoringService::isInitTransition_
private

Definition at line 249 of file FastMonitoringService.h.

Referenced by doSnapshot(), postGlobalBeginRun(), and preBeginJob().

◆ lastGlobalLumi_

unsigned int evf::FastMonitoringService::lastGlobalLumi_
private

Definition at line 248 of file FastMonitoringService.h.

Referenced by preBeginJob(), preGlobalBeginLumi(), and snapshotRunner().

◆ leadTimes_

std::vector<double> evf::FastMonitoringService::leadTimes_
private

Definition at line 258 of file FastMonitoringService.h.

Referenced by stoppedLookingForFile().

◆ lockStatsDuringLumi_

std::map<unsigned int, std::pair<double, unsigned int> > evf::FastMonitoringService::lockStatsDuringLumi_
private

Definition at line 259 of file FastMonitoringService.h.

Referenced by doSnapshot(), postGlobalEndLumi(), and reportLockWait().

◆ lumiFromSource_

unsigned int evf::FastMonitoringService::lumiFromSource_
private

Definition at line 250 of file FastMonitoringService.h.

Referenced by preBeginJob(), and stoppedLookingForFile().

◆ lumiStartTime_

std::map<unsigned int, timeval> evf::FastMonitoringService::lumiStartTime_
private

Definition at line 245 of file FastMonitoringService.h.

Referenced by preGlobalBeginLumi(), and preGlobalEndLumi().

◆ macroStateNames

const std::string evf::FastMonitoringService::macroStateNames
static
Initial value:
= {"Init",
"JobReady",
"RunGiven",
"Running",
"Stopping",
"Done",
"JobEnded",
"Error",
"ErrorEnded",
"End",
"Invalid"}

Definition at line 157 of file FastMonitoringService.h.

◆ microstateDefPath_

std::string evf::FastMonitoringService::microstateDefPath_
private

Definition at line 239 of file FastMonitoringService.h.

Referenced by FastMonitoringService(), and preBeginJob().

◆ moduleLegendFile_

std::string evf::FastMonitoringService::moduleLegendFile_
private

Definition at line 277 of file FastMonitoringService.h.

Referenced by preBeginJob().

◆ moduleLegendFileJson_

std::string evf::FastMonitoringService::moduleLegendFileJson_
private

Definition at line 278 of file FastMonitoringService.h.

Referenced by postBeginJob(), and preBeginJob().

◆ monInit_

std::atomic<bool> evf::FastMonitoringService::monInit_
private

Definition at line 284 of file FastMonitoringService.h.

Referenced by preBeginJob(), and snapshotRunner().

◆ nopath_

const std::string evf::FastMonitoringService::nopath_ = "NoPath"
static

◆ nOutputModules_

unsigned int evf::FastMonitoringService::nOutputModules_ = 0
private

Definition at line 282 of file FastMonitoringService.h.

Referenced by makeModuleLegendaJson(), and preModuleBeginJob().

◆ nStreams_

unsigned int evf::FastMonitoringService::nStreams_
private

◆ nThreads_

unsigned int evf::FastMonitoringService::nThreads_
private

Definition at line 235 of file FastMonitoringService.h.

Referenced by preallocate(), and preBeginJob().

◆ pathLegendFile_

std::string evf::FastMonitoringService::pathLegendFile_
private

Definition at line 279 of file FastMonitoringService.h.

Referenced by preBeginJob().

◆ pathLegendFileJson_

std::string evf::FastMonitoringService::pathLegendFileJson_
private

Definition at line 280 of file FastMonitoringService.h.

Referenced by postBeginJob(), and preBeginJob().

◆ pathNamesReady_

std::vector<bool> evf::FastMonitoringService::pathNamesReady_
private

Definition at line 269 of file FastMonitoringService.h.

◆ processedEventsPerLumi_

std::map<unsigned int, std::pair<unsigned int, bool> > evf::FastMonitoringService::processedEventsPerLumi_
private

◆ reservedMicroStateNames

const edm::ModuleDescription evf::FastMonitoringService::reservedMicroStateNames
static
Initial value:
= {
edm::ModuleDescription("Dummy", "Invalid"),
edm::ModuleDescription("Dummy", "Idle"),
edm::ModuleDescription("Dummy", "FwkOvhSrc"),
edm::ModuleDescription("Dummy", "FwkOvhMod"),
edm::ModuleDescription("Dummy", "FwkEoL"),
edm::ModuleDescription("Dummy", "Input"),
edm::ModuleDescription("Dummy", "DQM"),
edm::ModuleDescription("Dummy", "BoL"),
edm::ModuleDescription("Dummy", "EoL"),
edm::ModuleDescription("Dummy", "GlobalEoL")}

Definition at line 156 of file FastMonitoringService.h.

Referenced by doSnapshot(), postEvent(), postModuleEvent(), postSourceEvent(), postStreamBeginLumi(), postStreamEndLumi(), preBeginJob(), preSourceEvent(), preStreamBeginLumi(), preStreamEndLumi(), and setMicroState().

◆ runDirectory_

std::filesystem::path evf::FastMonitoringService::runDirectory_
private

Definition at line 271 of file FastMonitoringService.h.

Referenced by getRunDirName(), and preBeginJob().

◆ sleepTime_

int evf::FastMonitoringService::sleepTime_
private

Definition at line 236 of file FastMonitoringService.h.

Referenced by preBeginJob(), preGlobalEndLumi(), and snapshotRunner().

◆ slowName_

std::string evf::FastMonitoringService::slowName_
private

Definition at line 240 of file FastMonitoringService.h.

Referenced by preGlobalEndLumi().

◆ snapCounter_

unsigned int evf::FastMonitoringService::snapCounter_ = 0
private

Definition at line 238 of file FastMonitoringService.h.

Referenced by snapshotRunner().

◆ streamCounterUpdating_

std::vector<std::atomic<bool>*> evf::FastMonitoringService::streamCounterUpdating_
private

Definition at line 266 of file FastMonitoringService.h.

Referenced by preBeginJob().

◆ threadIDAvailable_

bool evf::FastMonitoringService::threadIDAvailable_ = false
private

Definition at line 273 of file FastMonitoringService.h.

Referenced by preBeginJob().

◆ totalEventsProcessed_

std::atomic<unsigned long> evf::FastMonitoringService::totalEventsProcessed_
private

Definition at line 275 of file FastMonitoringService.h.

Referenced by postEvent().

◆ workingDirectory_

std::filesystem::path evf::FastMonitoringService::workingDirectory_
private

Definition at line 271 of file FastMonitoringService.h.

Referenced by preBeginJob(), and preGlobalEndLumi().

evf::FastMonitoringService::workingDirectory_
std::filesystem::path workingDirectory_
Definition: FastMonitoringService.h:271
evf::FastMonitoringService::preGlobalEndLumi
void preGlobalEndLumi(edm::GlobalContext const &)
Definition: FastMonitoringService.cc:480
evf::FastMonState::inSupWaitFreeThreadCopying
Definition: FastMonitoringService.h:107
eostools.ls
def ls(path, rec=False)
Definition: eostools.py:349
evf::FastMonState::inWaitChunk_lockPolling
Definition: FastMonitoringService.h:140
edm::ActivityRegistry::watchPostStreamEndLumi
void watchPostStreamEndLumi(PostStreamEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:450
edm::ActivityRegistry::watchPreSourceEarlyTermination
void watchPreSourceEarlyTermination(PreSourceEarlyTermination::slot_type const &iSlot)
Definition: ActivityRegistry.h:501
evf::FastMonitoringService::exception_detected_
bool exception_detected_
Definition: FastMonitoringService.h:285
edm::TerminationOrigin::ExceptionFromThisContext
mps_fire.i
i
Definition: mps_fire.py:428
evf::FastMonitoringService::lockStatsDuringLumi_
std::map< unsigned int, std::pair< double, unsigned int > > lockStatsDuringLumi_
Definition: FastMonitoringService.h:259
evf::FastMonitoringService::preStreamEndLumi
void preStreamEndLumi(edm::StreamContext const &)
Definition: FastMonitoringService.cc:592
evf::FastMonState::inSupNewFileWaitChunkCopying
Definition: FastMonitoringService.h:115
evf::FastMonitoringService::fastMonIntervals_
unsigned int fastMonIntervals_
Definition: FastMonitoringService.h:237
evf::FastMonitoringService::runDirectory_
std::filesystem::path runDirectory_
Definition: FastMonitoringService.h:271
evf::FastMonState::inWaitChunk
Definition: FastMonitoringService.h:92
evf::FastMonitoringService::doSnapshot
void doSnapshot(const unsigned int ls, const bool isGlobalEOL)
Definition: FastMonitoringService.cc:815
evf::FastMonState::inNoRequestWithIdleThreads
Definition: FastMonitoringService.h:99
evf::FastMonitoringService::preSourceEvent
void preSourceEvent(edm::StreamID)
Definition: FastMonitoringService.cc:625
f
double f[11][100]
Definition: MuScleFitUtils.cc:78
evf::nSpecialModules
constexpr int nSpecialModules
Definition: FastMonitoringThread.h:17
evf::FastMonitoringService::getEventsProcessedForLumi
unsigned int getEventsProcessedForLumi(unsigned int lumi, bool *abortFlag=nullptr)
Definition: FastMonitoringService.cc:724
convertSQLitetoXML_cfg.output
output
Definition: convertSQLitetoXML_cfg.py:72
evf::FastMonitoringService::processedEventsPerLumi_
std::map< unsigned int, std::pair< unsigned int, bool > > processedEventsPerLumi_
Definition: FastMonitoringService.h:262
evf::FastMonState::inSupNewFileWaitThread
Definition: FastMonitoringService.h:114
Json::arrayValue
array value (ordered list)
Definition: value.h:30
evf::FastMonState::inNoRequest
Definition: FastMonitoringService.h:98
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
evf::FastMonState::inSupNewFileWaitChunk
Definition: FastMonitoringService.h:116
edm::TerminationOrigin::ExternalSignal
evf::FastMonitoringService::inputLegendFileJson_
std::string inputLegendFileJson_
Definition: FastMonitoringService.h:281
edm::ActivityRegistry::watchPostGlobalEndLumi
void watchPostGlobalEndLumi(PostGlobalEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:410
evf::FastMonitoringService::reservedMicroStateNames
static const edm::ModuleDescription reservedMicroStateNames[FastMonState::mCOUNT]
Definition: FastMonitoringService.h:156
edm::ActivityRegistry::watchJobFailure
void watchJobFailure(JobFailure::slot_type const &iSlot)
convenience function for attaching to signal
Definition: ActivityRegistry.h:178
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
if
if(0==first)
Definition: CAHitNtupletGeneratorKernelsImpl.h:48
to
evf::FastMonitoringService::moduleLegendFileJson_
std::string moduleLegendFileJson_
Definition: FastMonitoringService.h:278
evf::FastMonState::inWaitChunk_noFile
Definition: FastMonitoringService.h:143
cscNeutronWriter_cfi.writer
writer
Definition: cscNeutronWriter_cfi.py:6
evf::FastMonitoringService::fastPath_
std::string fastPath_
Definition: FastMonitoringService.h:240
evf::FastMonitoringService::preSourceEarlyTermination
void preSourceEarlyTermination(edm::TerminationOrigin)
Definition: FastMonitoringService.cc:403
evf::FastMonState::sRunning
Definition: FastMonitoringService.h:71
evf::nReservedPaths
constexpr int nReservedPaths
Definition: FastMonitoringThread.h:18
evf::FastMonitoringService::exceptionInLS_
std::vector< unsigned int > exceptionInLS_
Definition: FastMonitoringService.h:286
throughputFactor
constexpr double throughputFactor()
Definition: FastMonitoringService.cc:29
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
edm::StreamID::value
unsigned int value() const
Definition: StreamID.h:43
evf::FastMonitoringService::postBeginJob
void postBeginJob()
Definition: FastMonitoringService.cc:442
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
evf::FastMonState::inWaitInput_lockPollingCopying
Definition: FastMonitoringService.h:125
evf::FastMonState::inWaitChunk_newFileWaitThreadCopying
Definition: FastMonitoringService.h:145
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
evf::FastMonState::inSupWaitFreeThread
Definition: FastMonitoringService.h:106
evf::FastMonState::sError
Definition: FastMonitoringService.h:76
FedRawDataInputSource::getEventReport
std::pair< bool, unsigned int > getEventReport(unsigned int lumi, bool erase)
Definition: FedRawDataInputSource.cc:1510
edm::ModuleDescription
Definition: ModuleDescription.h:21
evf::FastMonState::sJobReady
Definition: FastMonitoringService.h:69
evf::FastMonState::inWaitChunk_runEnd
Definition: FastMonitoringService.h:142
Utilities.operator
operator
Definition: Utilities.py:24
evf::FastMonitoringService::nThreads_
unsigned int nThreads_
Definition: FastMonitoringService.h:235
evf::FastMonState::inWaitInput_noFile
Definition: FastMonitoringService.h:127
evf::FastMonitoringService::nStreams_
unsigned int nStreams_
Definition: FastMonitoringService.h:234
evf::FastMonState::mFwkEoL
Definition: FastMonitoringService.h:58
edm::ActivityRegistry::watchPostSourceEvent
void watchPostSourceEvent(PostSourceEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:190
evf::FastMonState::inWaitInput_lockPolling
Definition: FastMonitoringService.h:124
evf::FastMonState::inWaitInput_waitFreeChunk
Definition: FastMonitoringService.h:119
evf::FastMonState::inWaitChunk_fileLimit
Definition: FastMonitoringService.h:134
BXlumiParameters_cfi.lumi
lumi
Definition: BXlumiParameters_cfi.py:6
evf::FastMonitoringService::inputSource_
FedRawDataInputSource * inputSource_
Definition: FastMonitoringService.h:230
evf::FastMonitoringService::postStreamBeginLumi
void postStreamBeginLumi(edm::StreamContext const &)
Definition: FastMonitoringService.cc:588
evf::FastMonState::inNoRequestWithEoLThreads
Definition: FastMonitoringService.h:101
evf::FastMonitoringService::fastPathList_
std::vector< std::string > fastPathList_
Definition: FastMonitoringService.h:287
edm::ActivityRegistry::watchPostEndJob
void watchPostEndJob(PostEndJob::slot_type const &iSlot)
Definition: ActivityRegistry.h:170
edm::ActivityRegistry::watchPreStreamBeginLumi
void watchPreStreamBeginLumi(PreStreamBeginLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:431
evf::FastMonState::inWaitChunk_waitFreeChunkCopying
Definition: FastMonitoringService.h:136
evf::FastMonitoringService::fastName_
std::string fastName_
Definition: FastMonitoringService.h:240
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
evf::FastMonitoringService::lumiStartTime_
std::map< unsigned int, timeval > lumiStartTime_
Definition: FastMonitoringService.h:245
evf::FastMonitoringService::preGlobalBeginLumi
void preGlobalBeginLumi(edm::GlobalContext const &)
Definition: FastMonitoringService.cc:470
evf::FastMonState::inWaitInput
Definition: FastMonitoringService.h:86
evf::FastMonState::inNewLumi
Definition: FastMonitoringService.h:87
edm::ActivityRegistry::watchPreBeginJob
void watchPreBeginJob(PreBeginJob::slot_type const &iSlot)
convenience function for attaching to signal
Definition: ActivityRegistry.h:151
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:72
evf::FastMonState::inWaitChunk_lockPollingCopying
Definition: FastMonitoringService.h:141
evf::FastMonState::mCOUNT
Definition: FastMonitoringService.h:64
evf::FastMonState::inWaitInput_busy
Definition: FastMonitoringService.h:123
edm::ActivityRegistry::watchPreEvent
void watchPreEvent(PreEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:458
evf::FastMonitoringService::fileLookStart_
timeval fileLookStart_
Definition: FastMonitoringService.h:246
evf::FastMonitoringService::preStreamBeginLumi
void preStreamBeginLumi(edm::StreamContext const &)
Definition: FastMonitoringService.cc:575
evf::FastMonitoringService::postModuleEvent
void postModuleEvent(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastMonitoringService.cc:649
evf::nReservedModules
constexpr int nReservedModules
Definition: FastMonitoringThread.h:16
evf::FastMonState::inSupFileLimit
Definition: FastMonitoringService.h:103
edm::ActivityRegistry::watchPostBeginJob
void watchPostBeginJob(PostBeginJob::slot_type const &iSlot)
convenience function for attaching to signal
Definition: ActivityRegistry.h:158
evf::FastMonState::inWaitInput_fileLimit
Definition: FastMonitoringService.h:118
Json::StyledWriter
Writes a Value in JSON format in a human friendly way.
Definition: writer.h:63
evf::FastMonState::inSupBusy
Definition: FastMonitoringService.h:108
evf::FastMonState::inWaitInput_runEnd
Definition: FastMonitoringService.h:126
evf::FastMonState::inWaitInput_waitFreeChunkCopying
Definition: FastMonitoringService.h:120
evf::FastMonitoringService::postModuleEventAcquire
void postModuleEventAcquire(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastMonitoringService.cc:638
evf::FastMonState::inWaitChunk_newFileWaitChunk
Definition: FastMonitoringService.h:148
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
evf::FastMonitoringService::postGlobalEndLumi
void postGlobalEndLumi(edm::GlobalContext const &)
Definition: FastMonitoringService.cc:563
evf::MicroStateService::MicroStateService
MicroStateService(const edm::ParameterSet &, edm::ActivityRegistry &)
Definition: FastMonitoringService.cc:990
evf::FastMonitoringService::getAbortFlagForLumi
bool getAbortFlagForLumi(unsigned int lumi)
Definition: FastMonitoringService.cc:742
evf::FastMonState::inSupNewFile
Definition: FastMonitoringService.h:112
evf::FastMonState::mEoL
Definition: FastMonitoringService.h:62
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:233
edm::ActivityRegistry::watchPostEvent
void watchPostEvent(PostEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:464
ValidateTausOnZEEFastSim_cff.proc
proc
Definition: ValidateTausOnZEEFastSim_cff.py:6
evf::FastMonitoringService::streamCounterUpdating_
std::vector< std::atomic< bool > * > streamCounterUpdating_
Definition: FastMonitoringService.h:266
evf::FastMonState::inWaitChunk_busy
Definition: FastMonitoringService.h:139
evf::FastMonState::inSupLockPolling
Definition: FastMonitoringService.h:109
evf::FastMonitoringService::preModuleEvent
void preModuleEvent(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastMonitoringService.cc:644
CommonMethods.lock
def lock()
Definition: CommonMethods.py:82
edm::ActivityRegistry::watchPreStreamEndLumi
void watchPreStreamEndLumi(PreStreamEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:445
evf::FastMonState::inWaitChunk_waitFreeChunk
Definition: FastMonitoringService.h:135
evf::FastMonState::inWaitInput_waitFreeThread
Definition: FastMonitoringService.h:121
edm::shutdown_flag
volatile std::atomic< bool > shutdown_flag
Definition: UnixSignalHandlers.cc:22
evf::FastMonitoringService::lumiFromSource_
unsigned int lumiFromSource_
Definition: FastMonitoringService.h:250
edm::ActivityRegistry::watchPreStreamEarlyTermination
void watchPreStreamEarlyTermination(PreStreamEarlyTermination::slot_type const &iSlot)
Definition: ActivityRegistry.h:483
evf::FastMonState::inWaitChunk_waitFreeThread
Definition: FastMonitoringService.h:137
evf::FastMonitoringService::pathLegendFile_
std::string pathLegendFile_
Definition: FastMonitoringService.h:279
evf::FastMonState::MCOUNT
Definition: FastMonitoringService.h:80
evf::FastMonitoringService::avgLeadTime_
std::map< unsigned int, double > avgLeadTime_
Definition: FastMonitoringService.h:254
evf::FastMonitoringService::postSourceEvent
void postSourceEvent(edm::StreamID)
Definition: FastMonitoringService.cc:629
edm::Service
Definition: Service.h:30
evf::FastMonState::inWaitInput_newFile
Definition: FastMonitoringService.h:128
evf::FastMonitoringService::monInit_
std::atomic< bool > monInit_
Definition: FastMonitoringService.h:284
evf::FastMonState::inSupWaitFreeChunk
Definition: FastMonitoringService.h:104
evf::FastMonitoringService::preModuleBeginJob
void preModuleBeginJob(edm::ModuleDescription const &)
Definition: FastMonitoringService.cc:427
evf::FastMonState::inWaitInput_newFileWaitThread
Definition: FastMonitoringService.h:130
evf::FastMonitoringService::lastGlobalLumi_
unsigned int lastGlobalLumi_
Definition: FastMonitoringService.h:248
evf::FastMonitoringService::jobFailure
void jobFailure()
Definition: FastMonitoringService.cc:424
evf::FastMonitoringService::prePathEvent
void prePathEvent(edm::StreamContext const &, edm::PathContext const &)
Definition: FastMonitoringService.cc:607
evf::FastMonitoringService::nOutputModules_
unsigned int nOutputModules_
Definition: FastMonitoringService.h:282
evf::FastMonState::mFwkOvhSrc
Definition: FastMonitoringService.h:56
evf::FastMonitoringService::inputState_
std::atomic< FastMonState::InputState > inputState_
Definition: FastMonitoringService.h:231
res
Definition: Electron.h:6
evf::FastMonitoringService::slowName_
std::string slowName_
Definition: FastMonitoringService.h:240
evf::FastMonitoringService::preEvent
void preEvent(edm::StreamContext const &)
Definition: FastMonitoringService.cc:611
jsoncollector::IntJ::value
long & value()
Definition: JsonMonitorable.h:88
evf::FastMonState::inWaitChunk_waitFreeThreadCopying
Definition: FastMonitoringService.h:138
evf::FastMonitoringService::postEvent
void postEvent(edm::StreamContext const &)
Definition: FastMonitoringService.cc:613
evf::FastMonState::inSupNoFile
Definition: FastMonitoringService.h:111
evf::FastMonState::sJobEnded
Definition: FastMonitoringService.h:75
evf::FastMonitoringService::isInitTransition_
std::atomic< bool > isInitTransition_
Definition: FastMonitoringService.h:249
edm::ActivityRegistry::watchPreGlobalEndLumi
void watchPreGlobalEndLumi(PreGlobalEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:405
evf::FastMonitoringService::inputSupervisorState_
std::atomic< FastMonState::InputState > inputSupervisorState_
Definition: FastMonitoringService.h:232
edm::ActivityRegistry::watchPreallocate
void watchPreallocate(Preallocate::slot_type const &iSlot)
Definition: ActivityRegistry.h:144
edm::ActivityRegistry::watchPreGlobalEarlyTermination
void watchPreGlobalEarlyTermination(PreGlobalEarlyTermination::slot_type const &iSlot)
Definition: ActivityRegistry.h:492
evf::FastMonitoringService::fmt_
std::shared_ptr< FastMonitoringThread > fmt_
Definition: FastMonitoringService.h:227
edm::ActivityRegistry::watchPostStreamBeginLumi
void watchPostStreamBeginLumi(PostStreamBeginLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:438
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
evf::FastMonitoringService::nopath_
static const std::string nopath_
Definition: FastMonitoringService.h:160
evf::FastMonitoringService::fileLookStop_
timeval fileLookStop_
Definition: FastMonitoringService.h:246
edm::ActivityRegistry::watchPreGlobalBeginLumi
void watchPreGlobalBeginLumi(PreGlobalBeginLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:391
evf::FastMonState::inWaitInput_newFileWaitChunk
Definition: FastMonitoringService.h:132
evf::FastMonitoringService::makeInputLegendaJson
std::string makeInputLegendaJson()
Definition: FastMonitoringService.cc:231
edm::TerminationOrigin::ExceptionFromAnotherContext
edm::ActivityRegistry::watchPreModuleBeginJob
void watchPreModuleBeginJob(PreModuleBeginJob::slot_type const &iSlot)
Definition: ActivityRegistry.h:733
evf::FastMonitoringService::preGlobalEarlyTermination
void preGlobalEarlyTermination(edm::GlobalContext const &, edm::TerminationOrigin)
Definition: FastMonitoringService.cc:388
evf::FastMonitoringService::inputStateNames
static const std::string inputStateNames[FastMonState::inCOUNT]
Definition: FastMonitoringService.h:158
edm::ActivityRegistry::watchPostModuleEvent
void watchPostModuleEvent(PostModuleEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:783
evf::FastMonState::mBoL
Definition: FastMonitoringService.h:61
evf::FastMonitoringService::accuSize_
std::map< unsigned int, unsigned long > accuSize_
Definition: FastMonitoringService.h:257
relativeConstraints.empty
bool empty
Definition: relativeConstraints.py:46
edm::ActivityRegistry::watchPostModuleEventAcquire
void watchPostModuleEventAcquire(PostModuleEventAcquire::slot_type const &iSlot)
Definition: ActivityRegistry.h:797
evf::FastMonitoringService::makePathLegendaJson
std::string makePathLegendaJson()
Definition: FastMonitoringService.cc:198
Exception
Definition: hltDiff.cc:245
edm::ActivityRegistry::watchPreSourceEvent
void watchPreSourceEvent(PreSourceEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:184
evf::FastMonitoringService::threadIDAvailable_
bool threadIDAvailable_
Definition: FastMonitoringService.h:273
evf::FastMonitoringService::filePerFwkStream_
bool filePerFwkStream_
Definition: FastMonitoringService.h:241
HiBiasedCentrality_cfi.function
function
Definition: HiBiasedCentrality_cfi.py:4
evf::FastMonState::inSupNewFileWaitThreadCopying
Definition: FastMonitoringService.h:113
evf::FastMonitoringService::makeModuleLegendaJson
std::string makeModuleLegendaJson()
Definition: FastMonitoringService.cc:210
evf::FastMonState::mIdle
Definition: FastMonitoringService.h:55
evf::FastMonState::sInit
Definition: FastMonitoringService.h:68
evf::FastMonitoringService::preallocate
void preallocate(edm::service::SystemBounds const &)
Definition: FastMonitoringService.cc:241
evf::FastMonState::inCOUNT
Definition: FastMonitoringService.h:149
jsoncollector::IntJ
Definition: JsonMonitorable.h:66
funct::void
TEMPL(T2) struct Divides void
Definition: Factorize.h:24
evf::FastMonState::inRunEnd
Definition: FastMonitoringService.h:90
evf::FastMonitoringService::pathLegendFileJson_
std::string pathLegendFileJson_
Definition: FastMonitoringService.h:280
evf::FastMonitoringService::totalEventsProcessed_
std::atomic< unsigned long > totalEventsProcessed_
Definition: FastMonitoringService.h:275
evf::FastMonState::inWaitChunk_newFile
Definition: FastMonitoringService.h:144
evf::FastMonState::mInvalid
Definition: FastMonitoringService.h:54
evf::FastMonState::inWaitChunk_newFileWaitThread
Definition: FastMonitoringService.h:146
evf::FastMonState::mFwkOvhMod
Definition: FastMonitoringService.h:57
evf::FastMonState::mInput
Definition: FastMonitoringService.h:59
castor_dqm_sourceclient_file_cfg.path
path
Definition: castor_dqm_sourceclient_file_cfg.py:37
evf::FastMonitoringService::fastMicrostateDefPath_
std::string fastMicrostateDefPath_
Definition: FastMonitoringService.h:239
evf::FastMonState::inSupWaitFreeChunkCopying
Definition: FastMonitoringService.h:105
evf::FastMonState::inWaitInput_newFileWaitChunkCopying
Definition: FastMonitoringService.h:131
evf::FastMonitoringService::leadTimes_
std::vector< double > leadTimes_
Definition: FastMonitoringService.h:258
evf::FastMonitoringService::microstateDefPath_
std::string microstateDefPath_
Definition: FastMonitoringService.h:239
edm::ActivityRegistry::watchPrePathEvent
void watchPrePathEvent(PrePathEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:470
evf::FastMonitoringService::moduleLegendFile_
std::string moduleLegendFile_
Definition: FastMonitoringService.h:277
evf::FastMonitoringService::postStreamEndLumi
void postStreamEndLumi(edm::StreamContext const &)
Definition: FastMonitoringService.cc:603
edm_modernize_messagelogger.stat
stat
Definition: edm_modernize_messagelogger.py:27
evf::FastMonitoringService::filesProcessedDuringLumi_
std::map< unsigned int, unsigned int > filesProcessedDuringLumi_
Definition: FastMonitoringService.h:255
evf::FastMonitoringService::preStreamEarlyTermination
void preStreamEarlyTermination(edm::StreamContext const &, edm::TerminationOrigin)
Definition: FastMonitoringService.cc:373
evf::FastMonitoringService::snapCounter_
unsigned int snapCounter_
Definition: FastMonitoringService.h:238
evf::FastMonitoringService::postEndJob
void postEndJob()
Definition: FastMonitoringService.cc:460
evf::FastMonitoringService::preBeginJob
void preBeginJob(edm::PathsAndConsumesOfModulesBase const &, edm::ProcessContext const &pc)
Definition: FastMonitoringService.cc:251
edm::ActivityRegistry::watchPreModuleEventAcquire
void watchPreModuleEventAcquire(PreModuleEventAcquire::slot_type const &iSlot)
Definition: ActivityRegistry.h:789
lumi
Definition: LumiSectionData.h:20
evf::FastMonState::inSupLockPollingCopying
Definition: FastMonitoringService.h:110
evf::FastMonState::inWaitInput_waitFreeThreadCopying
Definition: FastMonitoringService.h:122
evf::FastMonitoringService::preModuleEventAcquire
void preModuleEventAcquire(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastMonitoringService.cc:633
evf::FastMonitoringService::snapshotRunner
void snapshotRunner()
Definition: FastMonitoringService.cc:758
evf::FastMonitoringService::sleepTime_
int sleepTime_
Definition: FastMonitoringService.h:236
edm::ActivityRegistry::watchPreModuleEvent
void watchPreModuleEvent(PreModuleEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:777
Json::Value
Represents a JSON value.
Definition: value.h:99
evf::FastMonState::inWaitInput_newFileWaitThreadCopying
Definition: FastMonitoringService.h:129
evf::FastMonState::inWaitChunk_newFileWaitChunkCopying
Definition: FastMonitoringService.h:147