CMS 3D CMS Logo

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

#include <FastMonitoringThread.h>

Classes

struct  MonitorData
 

Public Types

enum  InputState {
  inIgnore = 0, inInit, inWaitInput, inNewLumi,
  inNewLumiBusyEndingLS, inNewLumiIdleEndingLS, inRunEnd, inProcessingFile,
  inWaitChunk, inChunkReceived, inChecksumEvent, inCachedEvent,
  inReadEvent, inReadCleanup, inNoRequest, inNoRequestWithIdleThreads,
  inNoRequestWithGlobalEoL, inNoRequestWithEoLThreads, inSupFileLimit, inSupWaitFreeChunk,
  inSupWaitFreeChunkCopying, inSupWaitFreeThread, inSupWaitFreeThreadCopying, inSupBusy,
  inSupLockPolling, inSupLockPollingCopying, inSupNoFile, inSupNewFile,
  inSupNewFileWaitThreadCopying, inSupNewFileWaitThread, inSupNewFileWaitChunkCopying, inSupNewFileWaitChunk,
  inWaitInput_fileLimit, inWaitInput_waitFreeChunk, inWaitInput_waitFreeChunkCopying, inWaitInput_waitFreeThread,
  inWaitInput_waitFreeThreadCopying, inWaitInput_busy, inWaitInput_lockPolling, inWaitInput_lockPollingCopying,
  inWaitInput_runEnd, inWaitInput_noFile, inWaitInput_newFile, inWaitInput_newFileWaitThreadCopying,
  inWaitInput_newFileWaitThread, inWaitInput_newFileWaitChunkCopying, inWaitInput_newFileWaitChunk, inWaitChunk_fileLimit,
  inWaitChunk_waitFreeChunk, inWaitChunk_waitFreeChunkCopying, inWaitChunk_waitFreeThread, inWaitChunk_waitFreeThreadCopying,
  inWaitChunk_busy, inWaitChunk_lockPolling, inWaitChunk_lockPollingCopying, inWaitChunk_runEnd,
  inWaitChunk_noFile, inWaitChunk_newFile, inWaitChunk_newFileWaitThreadCopying, inWaitChunk_newFileWaitThread,
  inWaitChunk_newFileWaitChunkCopying, inWaitChunk_newFileWaitChunk, inCOUNT
}
 
enum  Macrostate {
  sInit = 0, sJobReady, sRunGiven, sRunning,
  sStopping, sShuttingDown, sDone, sJobEnded,
  sError, sErrorEnded, sEnd, sInvalid,
  MCOUNT
}
 

Public Member Functions

 FastMonitoringThread ()
 
void resetFastMonitor (std::string const &microStateDefPath, std::string const &fastMicroStateDefPath)
 
void start (void(FastMonitoringService::*fp)(), FastMonitoringService *cp)
 
void stop ()
 

Private Attributes

std::unique_ptr
< jsoncollector::FastMonitor
jsonMonitor_
 
MonitorData m_data
 
std::atomic< bool > m_stoprequest
 
boost::shared_ptr< std::thread > m_thread
 
std::mutex monlock_
 

Friends

class FastMonitoringService
 

Detailed Description

Definition at line 16 of file FastMonitoringThread.h.

Member Enumeration Documentation

Enumerator
inIgnore 
inInit 
inWaitInput 
inNewLumi 
inNewLumiBusyEndingLS 
inNewLumiIdleEndingLS 
inRunEnd 
inProcessingFile 
inWaitChunk 
inChunkReceived 
inChecksumEvent 
inCachedEvent 
inReadEvent 
inReadCleanup 
inNoRequest 
inNoRequestWithIdleThreads 
inNoRequestWithGlobalEoL 
inNoRequestWithEoLThreads 
inSupFileLimit 
inSupWaitFreeChunk 
inSupWaitFreeChunkCopying 
inSupWaitFreeThread 
inSupWaitFreeThreadCopying 
inSupBusy 
inSupLockPolling 
inSupLockPollingCopying 
inSupNoFile 
inSupNewFile 
inSupNewFileWaitThreadCopying 
inSupNewFileWaitThread 
inSupNewFileWaitChunkCopying 
inSupNewFileWaitChunk 
inWaitInput_fileLimit 
inWaitInput_waitFreeChunk 
inWaitInput_waitFreeChunkCopying 
inWaitInput_waitFreeThread 
inWaitInput_waitFreeThreadCopying 
inWaitInput_busy 
inWaitInput_lockPolling 
inWaitInput_lockPollingCopying 
inWaitInput_runEnd 
inWaitInput_noFile 
inWaitInput_newFile 
inWaitInput_newFileWaitThreadCopying 
inWaitInput_newFileWaitThread 
inWaitInput_newFileWaitChunkCopying 
inWaitInput_newFileWaitChunk 
inWaitChunk_fileLimit 
inWaitChunk_waitFreeChunk 
inWaitChunk_waitFreeChunkCopying 
inWaitChunk_waitFreeThread 
inWaitChunk_waitFreeThreadCopying 
inWaitChunk_busy 
inWaitChunk_lockPolling 
inWaitChunk_lockPollingCopying 
inWaitChunk_runEnd 
inWaitChunk_noFile 
inWaitChunk_newFile 
inWaitChunk_newFileWaitThreadCopying 
inWaitChunk_newFileWaitThread 
inWaitChunk_newFileWaitChunkCopying 
inWaitChunk_newFileWaitChunk 
inCOUNT 

Definition at line 22 of file FastMonitoringThread.h.

Enumerator
sInit 
sJobReady 
sRunGiven 
sRunning 
sStopping 
sShuttingDown 
sDone 
sJobEnded 
sError 
sErrorEnded 
sEnd 
sInvalid 
MCOUNT 

Definition at line 19 of file FastMonitoringThread.h.

Constructor & Destructor Documentation

evf::FastMonitoringThread::FastMonitoringThread ( )
inline

Definition at line 137 of file FastMonitoringThread.h.

Member Function Documentation

void evf::FastMonitoringThread::resetFastMonitor ( std::string const &  microStateDefPath,
std::string const &  fastMicroStateDefPath 
)
inline

Definition at line 140 of file FastMonitoringThread.h.

void evf::FastMonitoringThread::start ( void(FastMonitoringService::*)()  fp,
FastMonitoringService cp 
)
inline

Definition at line 147 of file FastMonitoringThread.h.

void evf::FastMonitoringThread::stop ( )
inline

Definition at line 151 of file FastMonitoringThread.h.

Friends And Related Function Documentation

friend class FastMonitoringService
friend

Definition at line 166 of file FastMonitoringThread.h.

Member Data Documentation

std::unique_ptr<jsoncollector::FastMonitor> evf::FastMonitoringThread::jsonMonitor_
private

Definition at line 164 of file FastMonitoringThread.h.

MonitorData evf::FastMonitoringThread::m_data
private

Definition at line 161 of file FastMonitoringThread.h.

std::atomic<bool> evf::FastMonitoringThread::m_stoprequest
private

Definition at line 159 of file FastMonitoringThread.h.

boost::shared_ptr<std::thread> evf::FastMonitoringThread::m_thread
private

Definition at line 160 of file FastMonitoringThread.h.

std::mutex evf::FastMonitoringThread::monlock_
private

Definition at line 162 of file FastMonitoringThread.h.