CMS 3D CMS Logo

FastMonitoringService.h
Go to the documentation of this file.
1 #ifndef EvFFastMonitoringService_H
2 #define EvFFastMonitoringService_H 1
3 
12 
13 #include <filesystem>
14 
15 #include <boost/thread.hpp>
16 
19 
20 #include <string>
21 #include <vector>
22 #include <map>
23 #include <queue>
24 #include <sstream>
25 #include <unordered_map>
26 
27 /*Description
28  this is an evolution of the MicroStateService intended to be run standalone in cmsRun or similar
29  As such, it has to independently create a monitoring thread and run it in each forked process, which needs
30  to be arranged following the standard CMSSW procedure.
31  We try to use boost threads for uniformity with the rest of the framework, even if they suck a bit.
32  A legenda for use by the monitoring process in the DAQ needs to be generated as soon as convenient - since
33  no access to the EventProcessor is granted, this needs to wait until after beginJob is executed.
34  At the same time, we try to spare time in the monitoring by avoiding even a single string lookup and using the
35  moduledesc pointer to key into the map instead.
36  As a bonus, we can now add to the monitored status the current path (and possibly associate modules to a path...)
37  this intermediate info will be called "ministate" :D
38  The general counters and status variables (event number, number of processed events, number of passed and stored
39  events, luminosity section etc. are also monitored here.
40 
41  NOTA BENE!!! with respect to the MicroStateService, no string or string pointers are used for the microstates.
42  NOTA BENE!!! the state of the edm::EventProcessor cannot be monitored directly from within a service, so a
43  different solution must be identified for that (especially one needs to identify error states).
44  NOTA BENE!!! to keep backward compatibility with the MicroStateService, a common base class with abstract interface,
45  exposing the single method to be used by all other packages (except EventFilter/Processor,
46  which should continue to use the concrete class interface) will be defined
47 
48 */
50 
51 namespace edm {
53 }
54 
55 namespace evf {
56 
57  template <typename T>
60  ContainableAtomic(T iValue) : m_value(iValue) {}
62  ContainableAtomic<T>& operator=(const void* iValue) {
63  m_value.store(iValue, std::memory_order_relaxed);
64  return *this;
65  }
66  operator T() { return m_value.load(std::memory_order_relaxed); }
67 
68  std::atomic<T> m_value;
69  };
70 
72  struct Encoding {
74  if (reserved_)
76  // completeReservedWithDummies();
77  }
79  if (reserved_)
80  delete[] dummiesForReserved_;
81  }
82  //trick: only encode state when sending it over (i.e. every sec)
83  int encode(const void* add) {
84  std::unordered_map<const void*, int>::const_iterator it = quickReference_.find(add);
85  return (it != quickReference_.end()) ? (*it).second : 0;
86  }
87  const void* decode(unsigned int index) { return decoder_[index]; }
88  void fillReserved(const void* add, unsigned int i) {
89  // translation_[*name]=current_;
91  if (decoder_.size() <= i)
92  decoder_.push_back(add);
93  else
95  }
96  void updateReserved(const void* add) {
99  }
101  for (unsigned int i = currentReserved_; i < reserved_; i++)
103  }
104  void update(const void* add) {
105  // translation_[*name]=current_;
107  decoder_.push_back(add);
108  current_++;
109  }
110  unsigned int vecsize() { return decoder_.size(); }
111  std::unordered_map<const void*, int> quickReference_;
112  std::vector<const void*> decoder_;
113  unsigned int reserved_;
114  int current_;
117  };
118 
119  public:
120  // the names of the states - some of them are never reached in an online app
123  // Reserved names for microstates
124  // moved into base class in EventFilter/Utilities for compatibility with MicroStateServiceClassic
125  static const std::string nopath_;
127  ~FastMonitoringService() override;
128  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
129 
133 
135  void jobFailure();
137 
139  void postBeginJob();
140  void postEndJob();
141 
146 
151  void prePathEvent(edm::StreamContext const&, edm::PathContext const&);
152  void preEvent(edm::StreamContext const&);
153  void postEvent(edm::StreamContext const&);
161  void setExceptionDetected(unsigned int ls);
162 
163  //this is still needed for use in special functions like DQM which are in turn framework services
166 
167  void accumulateFileSize(unsigned int lumi, unsigned long fileSize);
168  void startedLookingForFile();
169  void stoppedLookingForFile(unsigned int lumi);
170  void reportLockWait(unsigned int ls, double waitTime, unsigned int lockCount);
171  unsigned int getEventsProcessedForLumi(unsigned int lumi, bool* abortFlag = nullptr);
172  bool getAbortFlagForLumi(unsigned int lumi);
173  bool shouldWriteFiles(unsigned int lumi, unsigned int* proc = nullptr) {
174  unsigned int processed = getEventsProcessedForLumi(lumi);
175  if (proc)
176  *proc = processed;
177  return !getAbortFlagForLumi(lumi);
178  }
179  std::string getRunDirName() const { return runDirectory_.stem().string(); }
180  void setInputSource(FedRawDataInputSource* inputSource) { inputSource_ = inputSource; }
181  void setInState(FastMonitoringThread::InputState inputState) { inputState_ = inputState; }
183 
184  private:
185  void doSnapshot(const unsigned int ls, const bool isGlobalEOL);
186 
187  void doStreamEOLSnapshot(const unsigned int ls, const unsigned int streamID) {
188  //pick up only event count here
189  fmt_.jsonMonitor_->snapStreamAtomic(ls, streamID);
190  }
191 
192  void dowork() { // the function to be called in the thread. Thread completes when function returns.
193  monInit_.exchange(true, std::memory_order_acquire);
194  while (!fmt_.m_stoprequest) {
195  edm::LogInfo("FastMonitoringService")
196  << "Current states: Ms=" << fmt_.m_data.fastMacrostateJ_.value()
197  << " ms=" << encPath_[0].encode(ministate_[0]) << " us=" << encModule_.encode(microstate_[0])
198  << " is=" << inputStateNames[inputState_] << " iss=" << inputStateNames[inputSupervisorState_] << std::endl;
199 
200  {
201  std::lock_guard<std::mutex> lock(fmt_.monlock_);
202 
203  doSnapshot(lastGlobalLumi_, false);
204 
206  if (filePerFwkStream_) {
207  std::vector<std::string> CSVv;
208  for (unsigned int i = 0; i < nStreams_; i++) {
209  CSVv.push_back(fmt_.jsonMonitor_->getCSVString((int)i));
210  }
211  fmt_.monlock_.unlock();
212  for (unsigned int i = 0; i < nStreams_; i++) {
213  if (!CSVv[i].empty())
214  fmt_.jsonMonitor_->outputCSV(fastPathList_[i], CSVv[i]);
215  }
216  } else {
217  std::string CSV = fmt_.jsonMonitor_->getCSVString();
218  //release mutex before writing out fast path file
219  fmt_.monlock_.unlock();
220  if (!CSV.empty())
221  fmt_.jsonMonitor_->outputCSV(fastPath_, CSV);
222  }
223  }
224 
225  snapCounter_++;
226  }
227  ::sleep(sleepTime_);
228  }
229  }
230 
231  //the actual monitoring thread is held by a separate class object for ease of maintenance
234  std::vector<Encoding> encPath_;
236  std::atomic<FastMonitoringThread::InputState> inputState_{FastMonitoringThread::InputState::inInit};
237  std::atomic<FastMonitoringThread::InputState> inputSupervisorState_{FastMonitoringThread::InputState::inInit};
238 
239  unsigned int nStreams_;
240  unsigned int nThreads_;
242  unsigned int fastMonIntervals_;
243  unsigned int snapCounter_ = 0;
247 
248  //variables that are used by/monitored by FastMonitoringThread / FastMonitor
249 
250  std::map<unsigned int, timeval> lumiStartTime_; //needed for multiplexed begin/end lumis
251  timeval fileLookStart_, fileLookStop_; //this could also be calculated in the input source
252 
253  unsigned int lastGlobalLumi_;
254  std::atomic<bool> isInitTransition_;
255  unsigned int lumiFromSource_;
256 
257  //global state
258  std::atomic<FastMonitoringThread::Macrostate> macrostate_;
259 
260  //per stream
261  std::vector<ContainableAtomic<const void*>> ministate_;
262  std::vector<ContainableAtomic<const void*>> microstate_;
263  std::vector<ContainableAtomic<const void*>> threadMicrostate_;
264 
265  //variables measuring source statistics (global)
266  //unordered_map is not used because of very few elements stored concurrently
267  std::map<unsigned int, double> avgLeadTime_;
268  std::map<unsigned int, unsigned int> filesProcessedDuringLumi_;
269  //helpers for source statistics:
270  std::map<unsigned int, unsigned long> accuSize_;
271  std::vector<double> leadTimes_;
272  std::map<unsigned int, std::pair<double, unsigned int>> lockStatsDuringLumi_;
273 
274  //for output module
275  std::map<unsigned int, std::pair<unsigned int, bool>> processedEventsPerLumi_;
276 
277  //flag used to block EOL until event count is picked up by caches (not certain that this is really an issue)
278  //to disable this behavior, set #ATOMIC_LEVEL 0 or 1 in DataPoint.h
279  std::vector<std::atomic<bool>*> streamCounterUpdating_;
280 
281  std::vector<unsigned long> firstEventId_;
282  std::vector<std::atomic<bool>*> collectedPathList_;
283  std::vector<ContainableAtomic<unsigned int>> eventCountForPathInit_;
284  std::vector<bool> pathNamesReady_;
285 
287 
288  bool threadIDAvailable_ = false;
289 
290  std::atomic<unsigned long> totalEventsProcessed_;
291 
297  bool pathLegendWritten_ = false;
298  unsigned int nOutputModules_ = 0;
299 
300  std::atomic<bool> monInit_;
301  bool exception_detected_ = false;
302  std::vector<unsigned int> exceptionInLS_;
303  std::vector<std::string> fastPathList_;
304  };
305 
306 } // namespace evf
307 
308 #endif
evf::FastMonitoringService::workingDirectory_
std::filesystem::path workingDirectory_
Definition: FastMonitoringService.h:286
evf::FastMonitoringService::preGlobalEndLumi
void preGlobalEndLumi(edm::GlobalContext const &)
Definition: FastMonitoringService.cc:451
evf::FastMonitoringService::Encoding
Definition: FastMonitoringService.h:72
edm::StreamID
Definition: StreamID.h:30
eostools.ls
def ls(path, rec=False)
Definition: eostools.py:349
evf::FastMonitoringService::macroStateNames
static const std::string macroStateNames[FastMonitoringThread::MCOUNT]
Definition: FastMonitoringService.h:121
evf::FastMonitoringService::exception_detected_
bool exception_detected_
Definition: FastMonitoringService.h:301
evf::FastMonitoringThread::monlock_
std::mutex monlock_
Definition: FastMonitoringThread.h:221
mps_fire.i
i
Definition: mps_fire.py:428
evf::FastMonitoringService::eventCountForPathInit_
std::vector< ContainableAtomic< unsigned int > > eventCountForPathInit_
Definition: FastMonitoringService.h:283
evf::FastMonitoringService::lockStatsDuringLumi_
std::map< unsigned int, std::pair< double, unsigned int > > lockStatsDuringLumi_
Definition: FastMonitoringService.h:272
evf::FastMonitoringService::preStreamEndLumi
void preStreamEndLumi(edm::StreamContext const &)
Definition: FastMonitoringService.cc:562
MessageLogger.h
evf::FastMonitoringService::fastMonIntervals_
unsigned int fastMonIntervals_
Definition: FastMonitoringService.h:242
evf::FastMonitoringService::Encoding::quickReference_
std::unordered_map< const void *, int > quickReference_
Definition: FastMonitoringService.h:111
evf::FastMonitoringService::Encoding::Encoding
Encoding(unsigned int res)
Definition: FastMonitoringService.h:73
evf::FastMonitoringService::Encoding::~Encoding
~Encoding()
Definition: FastMonitoringService.h:78
evf::FastMonitoringService::runDirectory_
std::filesystem::path runDirectory_
Definition: FastMonitoringService.h:286
evf::FastMonitoringService::shouldWriteFiles
bool shouldWriteFiles(unsigned int lumi, unsigned int *proc=nullptr)
Definition: FastMonitoringService.h:173
evf::FastMonitoringService::doSnapshot
void doSnapshot(const unsigned int ls, const bool isGlobalEOL)
Definition: FastMonitoringService.cc:741
evf::FastMonitoringService::getRunDirName
std::string getRunDirName() const
Definition: FastMonitoringService.h:179
evf::FastMonitoringService::encPath_
std::vector< Encoding > encPath_
Definition: FastMonitoringService.h:234
evf::FastMonitoringService::preSourceEvent
void preSourceEvent(edm::StreamID)
Definition: FastMonitoringService.cc:620
evf::FastMonitoringService::Encoding::dummiesForReserved_
edm::ModuleDescription * dummiesForReserved_
Definition: FastMonitoringService.h:116
evf::FastMonitoringService::getEventsProcessedForLumi
unsigned int getEventsProcessedForLumi(unsigned int lumi, bool *abortFlag=nullptr)
Definition: FastMonitoringService.cc:708
evf::FastMonitoringService::processedEventsPerLumi_
std::map< unsigned int, std::pair< unsigned int, bool > > processedEventsPerLumi_
Definition: FastMonitoringService.h:275
evf::FastMonitoringService::Encoding::current_
int current_
Definition: FastMonitoringService.h:114
evf::FastMonitoringService::encModule_
Encoding encModule_
Definition: FastMonitoringService.h:233
edm
HLT enums.
Definition: AlignableModifier.h:19
edm::ProcessContext
Definition: ProcessContext.h:27
evf::ContainableAtomic::operator=
ContainableAtomic< T > & operator=(const void *iValue)
Definition: FastMonitoringService.h:62
evf::FastMonitoringService::inputLegendFileJson_
std::string inputLegendFileJson_
Definition: FastMonitoringService.h:296
evf::FastMonitoringService::collectedPathList_
std::vector< std::atomic< bool > * > collectedPathList_
Definition: FastMonitoringService.h:282
evf::ContainableAtomic::ContainableAtomic
ContainableAtomic(T iValue)
Definition: FastMonitoringService.h:60
evf::ContainableAtomic::ContainableAtomic
ContainableAtomic(ContainableAtomic< T > const &iOther)
Definition: FastMonitoringService.h:61
evf::FastMonitoringService::Encoding::update
void update(const void *add)
Definition: FastMonitoringService.h:104
evf::FastMonitoringService::Encoding::currentReserved_
int currentReserved_
Definition: FastMonitoringService.h:115
evf::FastMonitoringService::moduleLegendFileJson_
std::string moduleLegendFileJson_
Definition: FastMonitoringService.h:293
evf::FastMonitoringService::fastPath_
std::string fastPath_
Definition: FastMonitoringService.h:245
evf::FastMonitoringService::preSourceEarlyTermination
void preSourceEarlyTermination(edm::TerminationOrigin)
Definition: FastMonitoringService.cc:378
evf::FastMonitoringThread
Definition: FastMonitoringThread.h:15
evf::FastMonitoringService::exceptionInLS_
std::vector< unsigned int > exceptionInLS_
Definition: FastMonitoringService.h:302
evf::ContainableAtomic::m_value
std::atomic< T > m_value
Definition: FastMonitoringService.h:68
evf::FastMonitoringService::postBeginJob
void postBeginJob()
Definition: FastMonitoringService.cc:417
edm::LogInfo
Log< level::Info, false > LogInfo
Definition: MessageLogger.h:125
evf::FastMonitoringService::Encoding::vecsize
unsigned int vecsize()
Definition: FastMonitoringService.h:110
evf::FastMonitoringService::macrostate_
std::atomic< FastMonitoringThread::Macrostate > macrostate_
Definition: FastMonitoringService.h:258
LuminosityBlockID.h
evf::FastMonitoringService::setInputSource
void setInputSource(FedRawDataInputSource *inputSource)
Definition: FastMonitoringService.h:180
evf::FastMonitoringService::firstEventId_
std::vector< unsigned long > firstEventId_
Definition: FastMonitoringService.h:281
edm::ModuleDescription
Definition: ModuleDescription.h:21
evf::FastMonitoringService::nThreads_
unsigned int nThreads_
Definition: FastMonitoringService.h:240
evf::FastMonitoringService::Encoding::decoder_
std::vector< const void * > decoder_
Definition: FastMonitoringService.h:112
evf::FastMonitoringService::FastMonitoringService
FastMonitoringService(const edm::ParameterSet &, edm::ActivityRegistry &)
Definition: FastMonitoringService.cc:112
evf::FastMonitoringService::nStreams_
unsigned int nStreams_
Definition: FastMonitoringService.h:239
evf::FastMonitoringThread::m_data
MonitorData m_data
Definition: FastMonitoringThread.h:220
ModuleDescription.h
evf::FastMonitoringService::accumulateFileSize
void accumulateFileSize(unsigned int lumi, unsigned long fileSize)
Definition: FastMonitoringService.cc:652
ActivityRegistry.h
evf::FastMonitoringService
Definition: FastMonitoringService.h:71
evf::FastMonitoringService::Encoding::updateReserved
void updateReserved(const void *add)
Definition: FastMonitoringService.h:96
evf::FastMonitoringService::inputSource_
FedRawDataInputSource * inputSource_
Definition: FastMonitoringService.h:235
evf::FastMonitoringService::postStreamBeginLumi
void postStreamBeginLumi(edm::StreamContext const &)
Definition: FastMonitoringService.cc:558
evf::FastMonitoringService::fastPathList_
std::vector< std::string > fastPathList_
Definition: FastMonitoringService.h:303
evf::FastMonitoringService::fastName_
std::string fastName_
Definition: FastMonitoringService.h:245
edm::StreamContext
Definition: StreamContext.h:31
evf::FastMonitoringService::lumiStartTime_
std::map< unsigned int, timeval > lumiStartTime_
Definition: FastMonitoringService.h:250
evf::FastMonitoringService::preGlobalBeginLumi
void preGlobalBeginLumi(edm::GlobalContext const &)
Definition: FastMonitoringService.cc:441
evf::FastMonitoringService::microstate_
std::vector< ContainableAtomic< const void * > > microstate_
Definition: FastMonitoringService.h:262
EventID.h
evf::FastMonitoringService::fileLookStart_
timeval fileLookStart_
Definition: FastMonitoringService.h:251
edm::ActivityRegistry
Definition: ActivityRegistry.h:133
evf::FastMonitoringService::preStreamBeginLumi
void preStreamBeginLumi(edm::StreamContext const &)
Definition: FastMonitoringService.cc:545
evf::FastMonitoringService::postModuleEvent
void postModuleEvent(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastMonitoringService.cc:632
svgfig.load
def load(fileName)
Definition: svgfig.py:547
evf::FastMonitoringService::dowork
void dowork()
Definition: FastMonitoringService.h:192
FedRawDataInputSource
Definition: FedRawDataInputSource.h:37
edm::ConfigurationDescriptions
Definition: ConfigurationDescriptions.h:28
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
evf::FastMonitoringService::fillDescriptions
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: FastMonitoringService.cc:172
evf::FastMonitoringService::postGlobalEndLumi
void postGlobalEndLumi(edm::GlobalContext const &)
Definition: FastMonitoringService.cc:533
evf::FastMonitoringService::inputSupervisorState_
std::atomic< FastMonitoringThread::InputState > inputSupervisorState_
Definition: FastMonitoringService.h:237
evf::FastMonitoringService::getAbortFlagForLumi
bool getAbortFlagForLumi(unsigned int lumi)
Definition: FastMonitoringService.cc:726
evf::FastMonitoringService::~FastMonitoringService
~FastMonitoringService() override
Definition: FastMonitoringService.cc:170
edm::GlobalContext
Definition: GlobalContext.h:29
edm::service::SystemBounds
Definition: SystemBounds.h:29
edm::ParameterSet
Definition: ParameterSet.h:47
ValidateTausOnZEEFastSim_cff.proc
proc
Definition: ValidateTausOnZEEFastSim_cff.py:6
evf::FastMonitoringService::streamCounterUpdating_
std::vector< std::atomic< bool > * > streamCounterUpdating_
Definition: FastMonitoringService.h:279
Timestamp.h
evf::FastMonitoringService::preModuleEvent
void preModuleEvent(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastMonitoringService.cc:628
evf::FastMonitoringThread::m_stoprequest
std::atomic< bool > m_stoprequest
Definition: FastMonitoringThread.h:218
CommonMethods.lock
def lock()
Definition: CommonMethods.py:82
edm::PathContext
Definition: PathContext.h:24
PVValHelper::add
void add(std::map< std::string, TH1 * > &h, TH1 *hist)
Definition: PVValidationHelpers.cc:12
evf::FastMonitoringService::lumiFromSource_
unsigned int lumiFromSource_
Definition: FastMonitoringService.h:255
evf::FastMonitoringService::setInStateSup
void setInStateSup(FastMonitoringThread::InputState inputState)
Definition: FastMonitoringService.h:182
evf::ContainableAtomic::ContainableAtomic
ContainableAtomic()
Definition: FastMonitoringService.h:59
evf::FastMonitoringService::pathLegendFile_
std::string pathLegendFile_
Definition: FastMonitoringService.h:294
evf::FastMonitoringService::avgLeadTime_
std::map< unsigned int, double > avgLeadTime_
Definition: FastMonitoringService.h:267
evf::FastMonitoringService::postSourceEvent
void postSourceEvent(edm::StreamID)
Definition: FastMonitoringService.cc:624
evf::FastMonitoringThread::MCOUNT
Definition: FastMonitoringThread.h:31
TerminationOrigin
evf::FastMonitoringService::monInit_
std::atomic< bool > monInit_
Definition: FastMonitoringService.h:300
evf::FastMonitoringService::preModuleBeginJob
void preModuleBeginJob(edm::ModuleDescription const &)
Definition: FastMonitoringService.cc:402
evf::FastMonitoringService::lastGlobalLumi_
unsigned int lastGlobalLumi_
Definition: FastMonitoringService.h:253
evf::FastMonitoringService::jobFailure
void jobFailure()
Definition: FastMonitoringService.cc:399
evf::FastMonitoringService::prePathEvent
void prePathEvent(edm::StreamContext const &, edm::PathContext const &)
Definition: FastMonitoringService.cc:576
evf::FastMonitoringService::nOutputModules_
unsigned int nOutputModules_
Definition: FastMonitoringService.h:298
evf::FastMonitoringService::slowName_
std::string slowName_
Definition: FastMonitoringService.h:245
res
Definition: Electron.h:6
evf::FastMonitoringService::postGlobalBeginRun
void postGlobalBeginRun(edm::GlobalContext const &)
Definition: FastMonitoringService.cc:436
evf::FastMonitoringService::preEvent
void preEvent(edm::StreamContext const &)
Definition: FastMonitoringService.cc:604
evf::FastMonitoringService::reportLockWait
void reportLockWait(unsigned int ls, double waitTime, unsigned int lockCount)
Definition: FastMonitoringService.cc:702
jsoncollector::IntJ::value
long & value()
Definition: JsonMonitorable.h:88
evf::FastMonitoringService::postEvent
void postEvent(edm::StreamContext const &)
Definition: FastMonitoringService.cc:606
evf::FastMonitoringService::isInitTransition_
std::atomic< bool > isInitTransition_
Definition: FastMonitoringService.h:254
evf::ContainableAtomic
Definition: FastMonitoringService.h:58
evf::FastMonitoringService::nopath_
static const std::string nopath_
Definition: FastMonitoringService.h:125
evf::FastMonitoringService::fileLookStop_
timeval fileLookStop_
Definition: FastMonitoringService.h:251
evf::FastMonitoringService::makeInputLegendaJson
std::string makeInputLegendaJson()
Definition: FastMonitoringService.cc:213
ConfigurationDescriptions
evf::FastMonitoringService::preGlobalEarlyTermination
void preGlobalEarlyTermination(edm::GlobalContext const &, edm::TerminationOrigin)
Definition: FastMonitoringService.cc:363
evf::FastMonitoringService::Encoding::encode
int encode(const void *add)
Definition: FastMonitoringService.h:83
evf::FastMonitoringService::threadMicrostate_
std::vector< ContainableAtomic< const void * > > threadMicrostate_
Definition: FastMonitoringService.h:263
edm::PathsAndConsumesOfModulesBase
Definition: PathsAndConsumesOfModulesBase.h:34
T
long double T
Definition: Basic3DVectorLD.h:48
evf::FastMonitoringThread::jsonMonitor_
std::unique_ptr< jsoncollector::FastMonitor > jsonMonitor_
Definition: FastMonitoringThread.h:223
evf::FastMonitoringService::accuSize_
std::map< unsigned int, unsigned long > accuSize_
Definition: FastMonitoringService.h:270
relativeConstraints.empty
bool empty
Definition: relativeConstraints.py:46
evf::FastMonitoringService::makePathLegendaJson
std::string makePathLegendaJson()
Definition: FastMonitoringService.cc:184
evf::FastMonitoringService::Encoding::reserved_
unsigned int reserved_
Definition: FastMonitoringService.h:113
evf::FastMonitoringService::threadIDAvailable_
bool threadIDAvailable_
Definition: FastMonitoringService.h:288
evf
Definition: fillJson.h:27
evf::FastMonitoringService::inputStateNames
static const std::string inputStateNames[FastMonitoringThread::inCOUNT]
Definition: FastMonitoringService.h:122
evf::FastMonitoringService::filePerFwkStream_
bool filePerFwkStream_
Definition: FastMonitoringService.h:246
evf::FastMonitoringThread::MonitorData::fastMacrostateJ_
jsoncollector::IntJ fastMacrostateJ_
Definition: FastMonitoringThread.h:105
evf::FastMonitoringService::startedLookingForFile
void startedLookingForFile()
Definition: FastMonitoringService.cc:666
FastMonitoringThread.h
evf::FastMonitoringService::makeModuleLegendaJson
std::string makeModuleLegendaJson()
Definition: FastMonitoringService.cc:196
evf::FastMonitoringService::preallocate
void preallocate(edm::service::SystemBounds const &)
Definition: FastMonitoringService.cc:223
evf::FastMonitoringService::setExceptionDetected
void setExceptionDetected(unsigned int ls)
Definition: FastMonitoringService.cc:392
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
evf::FastMonitoringService::pathLegendFileJson_
std::string pathLegendFileJson_
Definition: FastMonitoringService.h:295
evf::FastMonitoringService::totalEventsProcessed_
std::atomic< unsigned long > totalEventsProcessed_
Definition: FastMonitoringService.h:290
ParameterSetID.h
evf::FastMonitoringService::Encoding::fillReserved
void fillReserved(const void *add, unsigned int i)
Definition: FastMonitoringService.h:88
evf::FastMonitoringThread::InputState
InputState
Definition: FastMonitoringThread.h:34
castor_dqm_sourceclient_file_cfg.path
path
Definition: castor_dqm_sourceclient_file_cfg.py:37
evf::MicroStateService::Microstate
Microstate
Definition: MicroStateService.h:21
evf::FastMonitoringService::fastMicrostateDefPath_
std::string fastMicrostateDefPath_
Definition: FastMonitoringService.h:244
evf::FastMonitoringService::ministate_
std::vector< ContainableAtomic< const void * > > ministate_
Definition: FastMonitoringService.h:261
evf::FastMonitoringService::leadTimes_
std::vector< double > leadTimes_
Definition: FastMonitoringService.h:271
ParameterSet.h
evf::FastMonitoringService::microstateDefPath_
std::string microstateDefPath_
Definition: FastMonitoringService.h:244
evf::FastMonitoringService::doStreamEOLSnapshot
void doStreamEOLSnapshot(const unsigned int ls, const unsigned int streamID)
Definition: FastMonitoringService.h:187
evf::FastMonitoringService::moduleLegendFile_
std::string moduleLegendFile_
Definition: FastMonitoringService.h:292
evf::FastMonitoringService::setInState
void setInState(FastMonitoringThread::InputState inputState)
Definition: FastMonitoringService.h:181
evf::FastMonitoringService::postStreamEndLumi
void postStreamEndLumi(edm::StreamContext const &)
Definition: FastMonitoringService.cc:572
evf::FastMonitoringService::filesProcessedDuringLumi_
std::map< unsigned int, unsigned int > filesProcessedDuringLumi_
Definition: FastMonitoringService.h:268
evf::FastMonitoringService::preStreamEarlyTermination
void preStreamEarlyTermination(edm::StreamContext const &, edm::TerminationOrigin)
Definition: FastMonitoringService.cc:348
evf::FastMonitoringService::snapCounter_
unsigned int snapCounter_
Definition: FastMonitoringService.h:243
evf::FastMonitoringService::stoppedLookingForFile
void stoppedLookingForFile(unsigned int lumi)
Definition: FastMonitoringService.cc:674
evf::FastMonitoringService::postEndJob
void postEndJob()
Definition: FastMonitoringService.cc:431
evf::FastMonitoringService::preBeginJob
void preBeginJob(edm::PathsAndConsumesOfModulesBase const &, edm::ProcessContext const &pc)
Definition: FastMonitoringService.cc:233
evf::FastMonitoringThread::inCOUNT
Definition: FastMonitoringThread.h:100
evf::FastMonitoringService::pathLegendWritten_
bool pathLegendWritten_
Definition: FastMonitoringService.h:297
lumi
Definition: LumiSectionData.h:20
evf::FastMonitoringService::setMicroState
void setMicroState(MicroStateService::Microstate) override
Definition: FastMonitoringService.cc:641
MicroStateService.h
evf::MicroStateService
Definition: MicroStateService.h:19
evf::FastMonitoringService::Encoding::completeReservedWithDummies
void completeReservedWithDummies()
Definition: FastMonitoringService.h:100
evf::FastMonitoringService::sleepTime_
int sleepTime_
Definition: FastMonitoringService.h:241
evf::FastMonitoringService::inputState_
std::atomic< FastMonitoringThread::InputState > inputState_
Definition: FastMonitoringService.h:236
evf::FastMonitoringService::Encoding::decode
const void * decode(unsigned int index)
Definition: FastMonitoringService.h:87
evf::FastMonitoringService::fmt_
FastMonitoringThread fmt_
Definition: FastMonitoringService.h:232
edm::ModuleCallingContext
Definition: ModuleCallingContext.h:29
evf::FastMonitoringService::pathNamesReady_
std::vector< bool > pathNamesReady_
Definition: FastMonitoringService.h:284