15 #include <boost/foreach.hpp>
24 stateMachine_(stateMachine),
25 dqmArchivingParams_(stateMachine->getConfiguration()->getDQMArchivingParams()),
26 dqmEventQueueCollection_(stateMachine->getDQMEventQueueCollection())
54 XCEPT_DECLARE(exception::DQMArchival,
55 sentinelException, e.what());
60 std::string errorMsg =
"Unknown exception in DQM archiving thread";
61 XCEPT_DECLARE(exception::DQMArchival,
62 sentinelException, errorMsg);
73 while ( registrationCollection->registrationIsAllowed(cid) )
78 if ( dqmEvent.first.empty() )
138 fileName << dqmArchivingParams_.filePrefixDQM_
140 << std::setfill(
'0') << std::setw(9) << view.
runNumber();
141 if ( ! endRun ) fileName <<
"_L" << std::setw(6) << view.
lumiSection();
149 dqmStore.save(fileName.str());
152 stateMachine_->getStatisticsReporter()->getDQMEventMonitorCollection();
154 static_cast<double>(view.
size()) / 0x100000
180 registrationCollection->addRegistrationInfo(
regPtr_);
static void addEventToDQMBackend(DQMStore *, const DQMEventMsgView &, const bool overwrite)
void writeDQMEventToFile(const DQMEventMsgView &, const bool endRun) const
void createRegistration()
DQMEventMsgView getDQMEventMsgView() const
stor::DQMEventQueueCollectionPtr dqmEventQueueCollection_
StateMachine * stateMachine_
unsigned int archiveIntervalDQM_
void addSample(const double &value=1)
void moveToFailedState(xcept::Exception &e)
DQMArchiver(StateMachine *)
uint32 updateNumber() const
const DQMArchivingParams dqmArchivingParams_
boost::shared_ptr< RegistrationCollection > RegistrationCollectionPtr
std::string topFolderName() const
void updateLastRecord(const stor::DQMTopLevelFolder::Record &)
stor::DQMEventConsRegPtr regPtr_
ConfigurationPtr getConfiguration() const
void handleDQMEvent(const stor::DQMTopLevelFolder::Record &)
Container::value_type value_type
void addUntrackedParameter(std::string const &name, T const &value)
const MonitoredQuantity & getWrittenDQMEventSizeMQ() const
ExpirableQueue< T, RejectNewest< T > >::ValueType ValueType
uint32 lumiSection() const
std::string archiveTopLevelFolder_
boost::scoped_ptr< boost::thread > thread_
const MonitoredQuantity & getNumberOfWrittenTopLevelFoldersMQ() const
Records lastUpdateForFolders_
stor::RegistrationCollectionPtr getRegistrationCollection() const