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