CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Public Attributes
evf::FastMonitoringThread::MonitorData Struct Reference

#include <FastMonitoringThread.h>

Public Member Functions

 MonitorData ()
 
void registerVariables (jsoncollector::FastMonitor *fm, unsigned int nStreams, unsigned int nThreads)
 

Public Attributes

jsoncollector::DoubleJ fastAvgLeadTimeJ_
 
jsoncollector::IntJ fastFilesProcessedJ_
 
jsoncollector::IntJ fastLockCountJ_
 
jsoncollector::DoubleJ fastLockWaitJ_
 
jsoncollector::IntJ fastMacrostateJ_
 
jsoncollector::IntJ fastPathProcessedJ_
 
jsoncollector::DoubleJ fastThroughputJ_
 
unsigned int macrostateBins_
 
unsigned int microstateBins_
 
std::vector< unsigned int > microstateEncoded_
 
unsigned int ministateBins_
 
std::vector< unsigned int > ministateEncoded_
 
std::vector
< jsoncollector::AtomicMonUInt * > 
processed_
 
std::vector< unsigned int > streamLumi_
 
std::vector< unsigned int > threadMicrostateEncoded_
 
unsigned int varIndexThrougput_
 

Detailed Description

Definition at line 21 of file FastMonitoringThread.h.

Constructor & Destructor Documentation

evf::FastMonitoringThread::MonitorData::MonitorData ( )
inline

Definition at line 50 of file FastMonitoringThread.h.

References fastAvgLeadTimeJ_, fastFilesProcessedJ_, fastLockCountJ_, fastLockWaitJ_, fastMacrostateJ_, fastPathProcessedJ_, fastThroughputJ_, jsoncollector::JsonMonitorable::setName(), and evf::FastMonitoringThread::sInit.

50  {
51 
53  fastThroughputJ_ = 0;
56  fastLockWaitJ_ = 0;
57  fastLockCountJ_ = 0;
58  fastMacrostateJ_.setName("Macrostate");
59  fastThroughputJ_.setName("Throughput");
60  fastAvgLeadTimeJ_.setName("AverageLeadTime");
61  fastFilesProcessedJ_.setName("FilesProcessed");
62  fastLockWaitJ_.setName("LockWaitUs");
63  fastLockCountJ_.setName("LockCount");
64 
66  fastPathProcessedJ_.setName("Processed");
67  }
virtual void setName(std::string name)

Member Function Documentation

void evf::FastMonitoringThread::MonitorData::registerVariables ( jsoncollector::FastMonitor fm,
unsigned int  nStreams,
unsigned int  nThreads 
)
inline

Definition at line 70 of file FastMonitoringThread.h.

References jsoncollector::FastMonitor::commit(), fastAvgLeadTimeJ_, fastFilesProcessedJ_, fastLockCountJ_, fastLockWaitJ_, fastMacrostateJ_, fastPathProcessedJ_, fastThroughputJ_, i, macrostateBins_, microstateBins_, microstateEncoded_, ministateBins_, ministateEncoded_, AlCaHLTBitMon_ParallelJobs::p, processed_, jsoncollector::FastMonitor::registerFastGlobalMonitorable(), jsoncollector::FastMonitor::registerGlobalMonitorable(), jsoncollector::FastMonitor::registerStreamMonitorableUIntVec(), jsoncollector::FastMonitor::registerStreamMonitorableUIntVecAtomic(), streamLumi_, and threadMicrostateEncoded_.

Referenced by evf::FastMonitoringService::preallocate().

70  {
71  //tell FM to track these global variables(for fast and slow monitoring)
78 
79  for (unsigned int i=0;i<nStreams;i++) {
81  *p=0;
82  processed_.push_back(p);
83  streamLumi_.push_back(0);
84  }
85 
86  microstateEncoded_.resize(nStreams);
87  ministateEncoded_.resize(nStreams);
88  threadMicrostateEncoded_.resize(nThreads);
89 
90  //tell FM to track these int vectors
92 
93  if (nThreads<=nStreams)//no overlapping in module execution per stream
95  else
97 
98  fm->registerStreamMonitorableUIntVecAtomic("Processed",&processed_,false,0);
99 
100  //global cumulative event counter is used for fast path
102 
103  //provide vector with updated per stream lumis and let it finish initialization
104  fm->commit(&streamLumi_);
105  }
void registerFastGlobalMonitorable(JsonMonitorable *newMonitorable)
Definition: FastMonitor.cc:75
int i
Definition: DBlmapReader.cc:9
void registerStreamMonitorableUIntVecAtomic(std::string const &name, std::vector< AtomicMonUInt * > *inputs, bool NAifZeroUpdates, unsigned int *nBins=nullptr)
Definition: FastMonitor.cc:95
void registerGlobalMonitorable(JsonMonitorable *newMonitorable, bool NAifZeroUpdates, unsigned int *nBins=nullptr)
Definition: FastMonitor.cc:62
std::vector< unsigned int > threadMicrostateEncoded_
void registerStreamMonitorableUIntVec(std::string const &name, std::vector< unsigned int > *inputs, bool NAifZeroUpdates, unsigned int *nBins=nullptr)
Definition: FastMonitor.cc:83
void commit(std::vector< unsigned int > *streamLumisPtr)
Definition: FastMonitor.cc:109
unsigned int AtomicMonUInt
Definition: DataPoint.h:31
std::vector< unsigned int > microstateEncoded_
std::vector< jsoncollector::AtomicMonUInt * > processed_
std::vector< unsigned int > streamLumi_
std::vector< unsigned int > ministateEncoded_

Member Data Documentation

jsoncollector::DoubleJ evf::FastMonitoringThread::MonitorData::fastAvgLeadTimeJ_
jsoncollector::IntJ evf::FastMonitoringThread::MonitorData::fastFilesProcessedJ_
jsoncollector::IntJ evf::FastMonitoringThread::MonitorData::fastLockCountJ_
jsoncollector::DoubleJ evf::FastMonitoringThread::MonitorData::fastLockWaitJ_
jsoncollector::IntJ evf::FastMonitoringThread::MonitorData::fastMacrostateJ_
jsoncollector::IntJ evf::FastMonitoringThread::MonitorData::fastPathProcessedJ_
jsoncollector::DoubleJ evf::FastMonitoringThread::MonitorData::fastThroughputJ_
unsigned int evf::FastMonitoringThread::MonitorData::macrostateBins_
unsigned int evf::FastMonitoringThread::MonitorData::microstateBins_
std::vector<unsigned int> evf::FastMonitoringThread::MonitorData::microstateEncoded_
unsigned int evf::FastMonitoringThread::MonitorData::ministateBins_
std::vector<unsigned int> evf::FastMonitoringThread::MonitorData::ministateEncoded_
std::vector<jsoncollector::AtomicMonUInt*> evf::FastMonitoringThread::MonitorData::processed_
std::vector<unsigned int> evf::FastMonitoringThread::MonitorData::streamLumi_
std::vector<unsigned int> evf::FastMonitoringThread::MonitorData::threadMicrostateEncoded_

Definition at line 38 of file FastMonitoringThread.h.

Referenced by registerVariables().

unsigned int evf::FastMonitoringThread::MonitorData::varIndexThrougput_

Definition at line 31 of file FastMonitoringThread.h.