#include <iDie.h>
Classes | |
class | commonLsStat |
class | lsStat |
struct | sorted_indices |
Public Member Functions | |
void | actionPerformed (xdata::Event &e) |
void | defaultWeb (xgi::Input *in, xgi::Output *out) throw (xgi::exception::Exception) |
void | detailsTable (xgi::Input *in, xgi::Output *out) throw (xgi::exception::Exception) |
void | dumpTable (xgi::Input *in, xgi::Output *out) throw (xgi::exception::Exception) |
xoap::MessageReference | fsmCallback (xoap::MessageReference msg) throw (xoap::exception::Exception) |
void | iChoke (xgi::Input *in, xgi::Output *out) throw (xgi::exception::Exception) |
void | iChokeMiniInterface (xgi::Input *in, xgi::Output *out) throw (xgi::exception::Exception) |
iDie (xdaq::ApplicationStub *s) | |
void | postEntry (xgi::Input *in, xgi::Output *out) throw (xgi::exception::Exception) |
void | postEntryiChoke (xgi::Input *in, xgi::Output *out) throw (xgi::exception::Exception) |
void | spotlight (xgi::Input *in, xgi::Output *out) throw (xgi::exception::Exception) |
void | summaryTable (xgi::Input *in, xgi::Output *out) throw (xgi::exception::Exception) |
void | updater (xgi::Input *in, xgi::Output *out) throw (xgi::exception::Exception) |
XDAQ_INSTANTIATOR () | |
virtual | ~iDie () |
Private Member Functions | |
void | deleteFramework () |
void | doFlush () |
void | fillDQMModFractionHist (unsigned int nbsIdx, unsigned int lsid, unsigned int nonIdle, std::vector< std::pair< unsigned int, unsigned int >> offenders) |
void | fillDQMStatHist (unsigned int nbsIdx, unsigned int lsid) |
void | initFramework () |
void | initMonitorElements () |
void | initMonitorElementsDatasets () |
void | initMonitorElementsStreams () |
void | parseDatasetLegenda (std::string) |
void | parseModuleHisto (const char *, unsigned int) |
void | parseModuleLegenda (std::string) |
void | parsePathHisto (const unsigned char *, unsigned int) |
void | parsePathLegenda (std::string) |
void | perLumiFileSaver (unsigned int lsid) |
void | perTimeFileSaver () |
void | reset () |
void | updateDatasetHistos (unsigned int forls, commonLsStat *clst, commonLsStat *prevclst) |
void | updateRollingHistos (unsigned int nbsIdx, unsigned int lsid, lsStat *lst, commonLsStat *clst, bool roll) |
void | updateStreamHistos (unsigned int forls, commonLsStat *clst, commonLsStat *prevclst) |
Private Attributes | |
TBranch * | b1_ |
TBranch * | b2_ |
TBranch * | b3_ |
TBranch * | b4_ |
TBranch * | b_ |
MonitorElement * | busyModules_ |
MonitorElement * | busySummary2_ |
MonitorElement * | busySummary_ |
MonitorElement * | busySummaryUncorr1_ |
MonitorElement * | busySummaryUncorr2_ |
xdata::String | class_ |
std::deque< commonLsStat * > | commonLsHistory |
std::string | configString_ |
std::vector< int > | cpuentries_ |
std::vector< std::vector< int > > | cpustat_ |
std::vector< unsigned int > | currentLs_ |
MonitorElement * | daqBusySummary2_ |
MonitorElement * | daqBusySummary_ |
int * | datap_ |
std::vector< std::string > | datasetNames_ |
std::vector< MonitorElement * > | datasetRates_ |
xdata::String | dqmCollectorHost_ |
xdata::String | dqmCollectorPort_ |
xdata::Boolean | dqmEnabled_ |
xdata::Boolean | dqmFilesWritable_ |
xdata::String | dqmSaveDir_ |
DQMService * | dqmService_ |
std::string | dqmState_ |
DQMStore * | dqmStore_ |
unsigned int | dsMismatch |
std::vector< std::string > | endPathNames_ |
std::vector< MonitorElement * > | endPathRates_ |
std::vector< unsigned int > | epInstances |
std::vector< unsigned int > | epMax |
MonitorElement * | eventId_ |
MonitorElement * | eventTimeStamp_ |
edm::EventProcessor * | evtProcessor_ |
TFile * | f_ |
std::string | fileBaseName_ |
MonitorElement * | fuReportsSummary_ |
fmap | fus_ |
xdata::String | hostname_ |
std::vector< float > | HTscaling |
unsigned int | ilumiprev_ |
xdata::UnsignedInteger32 | instance_ |
unsigned int | last_ls_ |
timeval | lastDatasetLegendaMessageTimeStamp_ |
timeval | lastModuleLegendaMessageTimeStamp_ |
timeval | lastPathLegendaMessageTimeStamp_ |
unsigned int | lastRunNumberSet_ |
unsigned int | lastSavedForTime_ |
Logger | log_ |
std::deque< lsStat * > * | lsHistory |
MonitorElement * | lumisecId_ |
std::vector< float > | machineWeight |
std::vector< float > | machineWeightInst |
std::vector< std::string > | mapmod_ |
std::vector< std::string > | mappath_ |
bool | meInitialized_ |
bool | meInitializedDatasets_ |
bool | meInitializedStreams_ |
std::vector< MonitorElement * > | meVecOffenders_ |
std::vector< MonitorElement * > | meVecRate_ |
std::vector< MonitorElement * > | meVecTime_ |
std::vector< unsigned int > | nbMachines |
unsigned int | nbSubsClasses |
std::map< unsigned int, int > | nbSubsList |
std::map< int, unsigned int > | nbSubsListInv |
int | nDatasetLegendaMessageReceived_ |
int | nDatasetLegendaMessageWithDataReceived_ |
int | nModuleHistoMessageReceived_ |
int | nModuleLegendaMessageReceived_ |
int | nModuleLegendaMessageWithDataReceived_ |
int | nPathHistoMessageReceived_ |
int | nPathLegendaMessageReceived_ |
int | nPathLegendaMessageWithDataReceived_ |
unsigned int | nstates_ |
std::vector< std::map < unsigned int, unsigned int > > | occupancyNameMap |
std::list< std::string > | pastSavedFiles_ |
boost::shared_ptr< std::vector < edm::ParameterSet > > | pServiceSets_ |
internal::rate | r_ |
MonitorElement * | rateSummary_ |
timeval * | reportingStart_ |
MonitorElement * | reportPeriodSummary_ |
MonitorElement * | runId_ |
xdata::UnsignedInteger32 | runNumber_ |
timeval | runStartDetectedTimeStamp_ |
unsigned int | savedForLs_ |
xdata::UnsignedInteger32 | saveLsInterval_ |
edm::ServiceToken | serviceToken_ |
unsigned int | summaryLastLs_ |
TTree * | t_ |
MonitorElement * | timingSummary_ |
xdata::String | topLevelFolder_ |
unsigned int | totalCores_ |
std::vector< TriggerReportStatic > | trp_ |
std::vector< int > | trpentries_ |
TriggerReportStatic * | trppriv_ |
xdata::String | url_ |
bool | writeDirectoryPresent_ |
iDie::iDie | ( | xdaq::ApplicationStub * | s | ) |
Definition at line 53 of file iDie.cc.
References class_, configString_, currentLs_, defaultWeb(), detailsTable(), dqmCollectorHost_, dqmCollectorPort_, dqmEnabled_, dqmFilesWritable_, dqmSaveDir_, dumpTable(), epInstances, epMax, fsmCallback(), hostname_, HTscaling, i, iChoke(), iChokeMiniInterface(), instance_, lastDatasetLegendaMessageTimeStamp_, lastModuleLegendaMessageTimeStamp_, lastPathLegendaMessageTimeStamp_, lsHistory, machineWeight, machineWeightInst, nbSubsClasses, nbSubsList, nbSubsListInv, occupancyNameMap, postEntry(), postEntryiChoke(), runNumber_, runStartDetectedTimeStamp_, saveLsInterval_, spotlight(), summaryTable(), topLevelFolder_, updater(), and url_.
: xdaq::Application(s) , log_(getApplicationLogger()) , dqmState_("Null") , instance_(0) , runNumber_(0) , lastRunNumberSet_(0) , dqmCollectorHost_() , dqmCollectorPort_() , totalCores_(0) , nstates_(0) , cpustat_(std::vector<std::vector<int> >(0)) , last_ls_(0) , f_(0) , t_(0) , b_(0) , b1_(0) , b2_(0) , b3_(0) , b4_(0) , datap_(0) , trppriv_(0) , nModuleLegendaMessageReceived_(0) , nPathLegendaMessageReceived_(0) , nModuleLegendaMessageWithDataReceived_(0) , nPathLegendaMessageWithDataReceived_(0) , nModuleHistoMessageReceived_(0) , nPathHistoMessageReceived_(0) , nDatasetLegendaMessageReceived_(0) , nDatasetLegendaMessageWithDataReceived_(0) , evtProcessor_(0) , meInitialized_(false) , meInitializedStreams_(false) , meInitializedDatasets_(false) , dqmService_(nullptr) , dqmStore_(nullptr) , dqmEnabled_(false) , saveLsInterval_(10) , ilumiprev_(0) , dqmSaveDir_("") , dqmFilesWritable_(true) , topLevelFolder_("DAQ") , savedForLs_(0) , reportingStart_(0) , dsMismatch(0) { // initialize application info url_ = getApplicationDescriptor()->getContextDescriptor()->getURL()+"/"+ getApplicationDescriptor()->getURN(); class_ =getApplicationDescriptor()->getClassName(); instance_=getApplicationDescriptor()->getInstance(); hostname_=getApplicationDescriptor()->getContextDescriptor()->getURL(); getApplicationDescriptor()->setAttribute("icon", "/evf/images/idieapp.jpg"); //soap interface xoap::bind(this,&evf::iDie::fsmCallback,"Configure",XDAQ_NS_URI); xoap::bind(this,&evf::iDie::fsmCallback,"Enable", XDAQ_NS_URI); xoap::bind(this,&evf::iDie::fsmCallback,"Stop", XDAQ_NS_URI); xoap::bind(this,&evf::iDie::fsmCallback,"Halt", XDAQ_NS_URI); // web interface xgi::bind(this,&evf::iDie::defaultWeb, "Default"); xgi::bind(this,&evf::iDie::summaryTable, "summary"); xgi::bind(this,&evf::iDie::detailsTable, "details"); xgi::bind(this,&evf::iDie::dumpTable, "dump" ); xgi::bind(this,&evf::iDie::updater, "updater"); xgi::bind(this,&evf::iDie::iChoke, "iChoke" ); xgi::bind(this,&evf::iDie::iChokeMiniInterface, "iChokeMiniInterface" ); xgi::bind(this,&evf::iDie::spotlight, "Spotlight" ); xgi::bind(this,&evf::iDie::postEntry, "postEntry"); xgi::bind(this,&evf::iDie::postEntryiChoke, "postChoke"); // gui_->setSmallAppIcon("/evf/images/Hilton.gif"); // gui_->setLargeAppIcon("/evf/images/Hilton.gif"); xdata::InfoSpace *ispace = getApplicationInfoSpace(); ispace->fireItemAvailable("runNumber", &runNumber_ ); getApplicationInfoSpace()->addItemChangedListener("runNumber", this); ispace->fireItemAvailable("dqmCollectorHost", &dqmCollectorHost_ ); ispace->fireItemAvailable("dqmCollectorPort", &dqmCollectorPort_ ); ispace->fireItemAvailable("saveLsInterval", &saveLsInterval_ ); ispace->fireItemAvailable("dqmSaveDir", &dqmSaveDir_ ); ispace->fireItemAvailable("dqmFilesWritableByAll", &dqmFilesWritable_ ); ispace->fireItemAvailable("dqmTopLevelFolder", &topLevelFolder_ ); ispace->fireItemAvailable("dqmEnabled", &dqmEnabled_ ); // timestamps lastModuleLegendaMessageTimeStamp_.tv_sec=0; lastModuleLegendaMessageTimeStamp_.tv_usec=0; lastPathLegendaMessageTimeStamp_.tv_sec=0; lastPathLegendaMessageTimeStamp_.tv_usec=0; lastDatasetLegendaMessageTimeStamp_.tv_sec=0; lastDatasetLegendaMessageTimeStamp_.tv_usec=0; runStartDetectedTimeStamp_.tv_sec=0; runStartDetectedTimeStamp_.tv_usec=0; //dqm python configuration configString_= "import FWCore.ParameterSet.Config as cms\n"; configString_+="process = cms.Process(\"iDieDQM\")\n"; configString_+="process.source = cms.Source(\"EmptySource\")\n"; configString_+="process.DQMStore = cms.Service(\"DQMStore\",\n"; configString_+=" referenceFileName = cms.untracked.string(''),\n"; configString_+=" verbose = cms.untracked.int32(0),\n"; configString_+=" verboseQT = cms.untracked.int32(0),\n"; configString_+=" collateHistograms = cms.untracked.bool(False))\n"; configString_+="process.DQM = cms.Service(\"DQM\",\n"; configString_+=" debug = cms.untracked.bool(False),\n"; configString_+=" publishFrequency = cms.untracked.double(1.0),\n"; configString_+=" collectorPort = cms.untracked.int32(EMPTYPORT),\n"; configString_+=" collectorHost = cms.untracked.string('EMPTYHOST'),\n"; configString_+=" filter = cms.untracked.string(''),\n"; configString_+=" verbose = cms.untracked.bool(False))\n"; configString_+="process.p = cms.Path()\n"; epInstances = {7, 8, 12, 16, 24, 32}; epMax = {8, 8, 24, 32, 24, 32}; HTscaling = {1, 1, 0.28,0.28, 0.28,0.28}; machineWeight = {91.6, 91.6, 253, 352, 253, 352}; machineWeightInst = {80.15,91.6, 196, 275, 253, 352}; for (unsigned int i=0;i<epInstances.size();i++) { currentLs_.push_back(0); nbSubsList[epInstances[i]]=i; nbSubsListInv[i]=epInstances[i]; std::map<unsigned int, unsigned int> mptmp; occupancyNameMap.push_back(mptmp); } nbSubsClasses = epInstances.size(); lsHistory = new std::deque<lsStat*>[nbSubsClasses]; //umask for setting permissions of created directories umask(000); }
void iDie::actionPerformed | ( | xdata::Event & | e | ) |
Definition at line 194 of file iDie.cc.
References doFlush(), dqmEnabled_, dqmState_, alignCSCRings::e, evtProcessor_, initFramework(), initMonitorElements(), meInitialized_, and reset().
{ if (e.type()=="ItemChangedEvent" ) { std::string item = dynamic_cast<xdata::ItemChangedEvent&>(e).itemName(); if ( item == "runNumber") { LOG4CPLUS_WARN(getApplicationLogger(), "New Run was started - iDie will reset"); reset(); dqmState_ = "Prepared"; if (dqmEnabled_.value_) { if (!evtProcessor_) initFramework(); if (!meInitialized_) initMonitorElements(); doFlush(); } } } }
void iDie::defaultWeb | ( | xgi::Input * | in, |
xgi::Output * | out | ||
) | throw (xgi::exception::Exception) |
Definition at line 302 of file iDie.cc.
References evf::internal::fu::ccount, recoMuon::in, PFRecoTauDiscriminationAgainstElectronMVA_cfi::method, dbtoconf::out, reset(), DTTTrigCorrFirst::run, and sistrip::runNumber_.
Referenced by iDie().
{ cgicc::Cgicc cgi(in); std::string method = cgi.getEnvironment().getRequestMethod(); if(method == "POST"){ unsigned int run = 0; std::vector<cgicc::FormEntry> el1 = cgi.getElements(); cgi.getElement("run",el1); if(el1.size()!=0){ run = el1[0].getIntegerValue(); if(run > runNumber_.value_ || runNumber_.value_==0){ runNumber_.value_ = run; if(runNumber_.value_!=0) { reset(); if(f_ == 0) { std::ostringstream ost; ost << "microReport"<<runNumber_<<".root"; f_ = new TFile(ost.str().c_str(),"RECREATE","microreport"); } } } } internal::fu fuinstance; fuinstance.ccount = 0; std::string hostname = cgi.getEnvironment().getRemoteHost(); std::transform(hostname.begin(), hostname.end(), hostname.begin(), ::toupper); fus_[hostname] = fuinstance; } else{ *out << "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">" << "<html><head><title>" << getApplicationDescriptor()->getClassName() << getApplicationDescriptor()->getInstance() << "</title>" << "<meta https-equiv=\"REFRESH\" content=\"0;url=/evf/html/idiePage.html\">" << "</head></html>"; } }
void iDie::deleteFramework | ( | ) | [private] |
Definition at line 1304 of file iDie.cc.
References evtProcessor_.
{ if (evtProcessor_) delete evtProcessor_; }
void iDie::detailsTable | ( | xgi::Input * | in, |
xgi::Output * | out | ||
) | throw (xgi::exception::Exception) |
Definition at line 359 of file iDie.cc.
References i, cmsPerfSuiteHarvest::now, and dbtoconf::out.
Referenced by iDie().
{ timeval tv; gettimeofday(&tv,0); time_t now = tv.tv_sec; for(ifmap i = fus_.begin(); i != fus_.end(); i++) if((*i).second.ccount != 0){ *out << "<tr><td " << (now-(*i).second.tstamp<300 ? "style=\"background-color:red\"" : "") << ">"<<(*i).first<<"</td><td>" << (*i).second.ccount << "</td>" << "<td onClick=loaddump(\'" << url_.value_ << "/dump?name=" << (*i).first << "\')>" << (*i).second.cpids.back() << "</td><td>" <<(*i).second.signals.back() << "</td></tr>" << std::endl; } }
void iDie::doFlush | ( | ) | [private] |
Definition at line 1585 of file iDie.cc.
References dqmEnabled_, dqmService_, and DQMService::flushStandalone().
Referenced by actionPerformed(), and parseModuleHisto().
{ if (dqmEnabled_.value_) dqmService_->flushStandalone(); }
void iDie::dumpTable | ( | xgi::Input * | in, |
xgi::Output * | out | ||
) | throw (xgi::exception::Exception) |
Definition at line 379 of file iDie.cc.
References gather_cfg::cout, recoMuon::in, and dbtoconf::out.
Referenced by iDie().
{ cgicc::Cgicc cgi(in); std::vector<cgicc::FormEntry> el1; cgi.getElement("name",el1); if(el1.size()!=0){ std::string hostname = el1[0].getValue(); std::transform(hostname.begin(), hostname.end(), hostname.begin(), ::toupper); ifmap fi = fus_.find(hostname); if(fi!=fus_.end()){ *out << (*fi).second.stacktraces.back() << std::endl; } else{ for(fi=fus_.begin(); fi != fus_.end(); fi++) std::cout << "known hosts: " << (*fi).first << std::endl; } } }
void iDie::fillDQMModFractionHist | ( | unsigned int | nbsIdx, |
unsigned int | lsid, | ||
unsigned int | nonIdle, | ||
std::vector< std::pair< unsigned int, unsigned int >> | offenders | ||
) | [private] |
Definition at line 1491 of file iDie.cc.
References begin, newFWLiteAna::bin, prof2calltree::count, evtProcessor_, f, evf::fround(), MonitorElement::getBinContent(), i, j, gen::k, combine::key, lsHistory, mapmod_, meVecOffenders_, MODNAMES, occupancyNameMap, ROLL, MonitorElement::setBinContent(), MonitorElement::setBinLabel(), x, and detailsBasic3DVector::y.
Referenced by parseModuleHisto().
{ if (!evtProcessor_) return; MonitorElement * me = meVecOffenders_[nbsIdx]; //shift bin names by 1 unsigned int xBinToFill=lsid; if (lsid>ROLL) { for (unsigned int i=1;i<=ROLL;i++) { for (unsigned int j=1;j<=MODNAMES;j++) { if (i<ROLL) me->setBinContent(i,j,me->getBinContent(i+1,j)); else me->setBinContent(i,j,0); } std::ostringstream ostr; ostr << lsid-ROLL+i; me->setBinLabel(i,ostr.str(),1); } std::ostringstream ostr; ostr << lsid; xBinToFill=ROLL; } float nonIdleInv=0.; if (nonIdle>0)nonIdleInv=1./(double)nonIdle; //1st pass (there are free bins left) for (unsigned int i=0;i<offenders.size();i++) { unsigned int x=offenders[i].first; float percentageUsed=offenders[i].second*nonIdleInv; if (percentageUsed>0.02) {//2% threshold if (occupancyNameMap[nbsIdx].count(x)==0) {//new element unsigned int y=occupancyNameMap[nbsIdx].size(); if (y<MODNAMES) { (occupancyNameMap[nbsIdx])[x]=y; me->setBinContent(xBinToFill,y+1,fround(percentageUsed,0.001f)); me->setBinLabel(y+1,mapmod_[x],2); } else break; } } } //2nd pass (beyond available bins) for (unsigned int i=0;i<offenders.size();i++) { unsigned int x=offenders[i].first; float percentageUsed=offenders[i].second*nonIdleInv; if (percentageUsed>0.02) {//2% threshold if (occupancyNameMap[nbsIdx].count(x)==0) { unsigned int y=occupancyNameMap[nbsIdx].size(); if (y>=MODNAMES && xBinToFill>1) { //filled up, replace another one float minbinval=1.; unsigned int toReplace=0; for (size_t j=1;j<=MODNAMES;j++) { //decide based on the smallest value float bin=me->getBinContent(xBinToFill,j); if (bin<minbinval) {toReplace=j;minbinval=bin;} } if (percentageUsed>minbinval && toReplace) { int key=-1; for (auto it = occupancyNameMap[nbsIdx].begin(); it != occupancyNameMap[nbsIdx].end(); ++it) { if (it->second == toReplace-1) { key = it->first; break; } } if (key>-1) { //erase old occupancyNameMap[nbsIdx].erase(key); //add new (occupancyNameMap[nbsIdx])[x]=toReplace-1; //fill histogram me->setBinContent(xBinToFill,toReplace,fround(percentageUsed,0.001f)); me->setBinLabel(toReplace,mapmod_[x],2); //reset fields for previous lumis unsigned qsize = lsHistory[nbsIdx].size(); for (size_t k=1;k<xBinToFill;k++) { if (xBinToFill-k+1<qsize) { float fr = (lsHistory[nbsIdx])[qsize-xBinToFill+k-1]->getOffenderFracAt(x); if (fr>0.02) me->setBinContent(k,toReplace,fround(fr,0.001f)); } else me->setBinContent(k,toReplace,0); } } } } } else { unsigned int y=(occupancyNameMap[nbsIdx])[x]; me->setBinContent(xBinToFill,y+1,fround(percentageUsed,0.001f)); } } } }
void iDie::fillDQMStatHist | ( | unsigned int | nbsIdx, |
unsigned int | lsid | ||
) | [private] |
Definition at line 1309 of file iDie.cc.
References commonLsHistory, evtProcessor_, i, lsHistory, lst, meVecRate_, meVecTime_, PASTUPDATES, updateDatasetHistos(), updateRollingHistos(), and updateStreamHistos().
Referenced by parseModuleHisto().
{ if (!evtProcessor_ || lsid==0) return; unsigned int qsize = lsHistory[nbsIdx].size(); //may be larger size unsigned int cqsize = lsHistory[nbsIdx].size(); //update lumis if (qsize) { for (int i =(int)qsize-1;i>=0 && i>=(int)qsize-PASTUPDATES;i--) { unsigned int qpos=(unsigned int) i; unsigned int forls = lsid - (qsize-1-i); lsStat * lst = (lsHistory[nbsIdx])[qpos]; unsigned int clsPos = unsigned((int)qpos+ (int)cqsize - (int)qsize); commonLsStat * clst = commonLsHistory[unsigned((int)qpos+ (int)cqsize - (int)qsize)]; meVecRate_[nbsIdx]->setBinContent(forls,lst->getRatePerMachine()); meVecRate_[nbsIdx]->setBinError(forls,lst->getRateErrPerMachine()); meVecTime_[nbsIdx]->setBinContent(forls>2? forls:0,lst->getEvtTime()*1000);//msec meVecTime_[nbsIdx]->setBinError(forls>2? forls:0,lst->getEvtTimeErr()*1000);//msec updateRollingHistos(nbsIdx, forls,lst,clst,i==(int)qsize-1); commonLsStat * prevclst = clsPos>0 ? commonLsHistory[clsPos-1]:nullptr; updateStreamHistos(forls,clst,prevclst); updateDatasetHistos(forls,clst,prevclst); } } }
xoap::MessageReference iDie::fsmCallback | ( | xoap::MessageReference | msg | ) | throw (xoap::exception::Exception) |
Definition at line 217 of file iDie.cc.
References edmPickEvents::command, gather_cfg::cout, alignCSCRings::e, Exception, i, lumiQueryAPI::msg, python::Node::node, stor::utils::sleep(), and evf::utils::state.
Referenced by iDie().
{ xoap::SOAPPart part =msg->getSOAPPart(); xoap::SOAPEnvelope env =part.getEnvelope(); xoap::SOAPBody body =env.getBody(); DOMNode *node =body.getDOMNode(); DOMNodeList *bodyList=node->getChildNodes(); DOMNode *command =0; std::string commandName; for (unsigned int i=0;i<bodyList->getLength();i++) { command = bodyList->item(i); if(command->getNodeType() == DOMNode::ELEMENT_NODE) { commandName = xoap::XMLCh2String(command->getLocalName()); break; } } if (commandName.empty()) { XCEPT_RAISE(xoap::exception::Exception,"Command not found."); } // fire appropriate event and create according response message try { // response string xoap::MessageReference reply = xoap::createMessage(); xoap::SOAPEnvelope envelope = reply->getSOAPPart().getEnvelope(); xoap::SOAPName responseName = envelope.createName(commandName+"Response", "xdaq",XDAQ_NS_URI); xoap::SOAPBodyElement responseElem = envelope.getBody().addBodyElement(responseName); // generate correct return state string std::string state; if(commandName == "Configure") {dqmState_ = "Ready"; state = "Ready";} else if(commandName == "Enable") {dqmState_ = "Enabled"; state = "Enabled";} else if(commandName == "Stop" || commandName == "Halt") { //remove histograms std::cout << " Stopping/Halting iDie. command=" << commandName << " initialized=" << meInitialized_ << std::endl; if (meInitialized_) { dqmState_ = "Removed"; usleep(10000);//propagating dqmState to caches meInitialized_=false; meInitializedStreams_=false; meInitializedDatasets_=false; sleep(1);//making sure that any running ls update finishes dqmStore_->setCurrentFolder(topLevelFolder_.value_ + "/Layouts/"); dqmStore_->removeContents(); dqmStore_->setCurrentFolder(topLevelFolder_.value_ + "/Layouts/Streams/"); dqmStore_->removeContents(); dqmStore_->setCurrentFolder(topLevelFolder_.value_ + "/Layouts/Datasets/"); dqmStore_->removeContents(); dqmStore_->setCurrentFolder(topLevelFolder_.value_ + "/EventInfo/"); dqmStore_->removeContents(); doFlush(); } if (reportingStart_) delete reportingStart_; reportingStart_=0; state = "Ready"; } //else if(commandName == "Halt") state = "Halted"; else state = "BOH"; xoap::SOAPName stateName = envelope.createName("state", "xdaq",XDAQ_NS_URI); xoap::SOAPElement stateElem = responseElem.addChildElement(stateName); xoap::SOAPName attributeName = envelope.createName("stateName", "xdaq",XDAQ_NS_URI); stateElem.addAttribute(attributeName,state); return reply; } catch (toolbox::fsm::exception::Exception & e) { XCEPT_RETHROW(xoap::exception::Exception,"invalid command.",e); } }
void iDie::iChoke | ( | xgi::Input * | in, |
xgi::Output * | out | ||
) | throw (xgi::exception::Exception) |
Definition at line 458 of file iDie.cc.
References dbtoconf::out.
Referenced by iDie().
{ *out << "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">" << "<html><head><title>" << getApplicationDescriptor()->getClassName() << getApplicationDescriptor()->getInstance() << "</title>" << "<meta https-equiv=\"REFRESH\" content=\"0;url=/evf/html/ichokePage.html\">" << "</head></html>"; }
void iDie::iChokeMiniInterface | ( | xgi::Input * | in, |
xgi::Output * | out | ||
) | throw (xgi::exception::Exception) |
Definition at line 402 of file iDie.cc.
References begin, i, evf::iDie::sorted_indices::ii(), j, dbtoconf::out, and tmp.
Referenced by iDie().
{ unsigned int i = 0; if(last_ls_==0) return; //wait until at least one complete cycle so we have all arrays sized correctly !!! *out << "<div id=\"cls\">" << last_ls_ << "</div>" << "<div id=\"clr\">" << cpuentries_[last_ls_-1] << "</div>" << std::endl; sorted_indices tmp(cpustat_[last_ls_-1]); // std::sort(tmp.begin(),tmp.end());// figure out how to remap indices of legenda *out << "<tbody id=\"cpue\">"; while(i<nstates_){ if(tmp[i]!=0) *out << "<tr><td>" << mapmod_[tmp.ii(i)] << "</td>" << "<td>" << float(tmp[i])/float(cpuentries_[last_ls_-1]) << "</td></tr>"; i++; } *out << "</tbody>\n"; *out << "<tbody id=\"cpui\"><tr><td></td>"; unsigned int begin = last_ls_<5 ? 0 : last_ls_-5; for(i=begin; i < last_ls_; i++) *out << "<td>" << i +1 << "</td>"; *out << "</tr><tr><td></td>"; for(i=begin; i < last_ls_; i++) *out << "<td>" << float(cpustat_[i][2])/float(cpuentries_[i]) << "</td>"; *out << "</tr></tbody>\n"; *out << "<tbody id=\"rate\"><tr><td></td>"; begin = last_ls_<5 ? 0 : last_ls_-5; for(i=begin; i < last_ls_; i++) *out << "<td>" << float(trp_[i].eventSummary.totalEventsPassed)/float(trp_[i].eventSummary.totalEvents) << "</td>"; *out << "</tr>\n<tr><td></td>"; for(i=begin; i < last_ls_; i++) *out << "<td>" << trp_[i].eventSummary.totalEvents << "</td>"; *out << "</tr>\n<tr><td></td>"; for(int j = 0; j < trp_[0].trigPathsInMenu; j++) { *out << "<tr><td></td>"; for(i=begin; i < last_ls_; i++) *out << "<td>" << trp_[i].trigPathSummaries[j].timesPassed << "(" << trp_[i].trigPathSummaries[j].timesPassedL1 << ")(" << trp_[i].trigPathSummaries[j].timesPassedPs << ")</td>"; *out << "<td>" << mappath_[j] << "</td>"; *out << "</tr>\n"; } for(int j = 0; j < trp_[0].endPathsInMenu; j++) { *out << "<tr><td></td>"; for(i=begin; i < last_ls_; i++) *out << "<td>" << trp_[i].endPathSummaries[j].timesPassed << "</td>"; *out << "<td>" << mappath_[j+trp_[last_ls_-1].trigPathsInMenu] << "</td>"; *out << "</tr>\n"; } *out << "</tbody>\n"; }
void iDie::initFramework | ( | ) | [private] |
Definition at line 1080 of file iDie.cc.
References edmplugin::standard::config(), configString_, edmplugin::PluginManager::configure(), edm::ServiceRegistry::createSet(), dqmCollectorHost_, dqmCollectorPort_, dqmEnabled_, dqmService_, dqmState_, dqmStore_, alignCSCRings::e, evtProcessor_, exception, reco::get(), initMonitorElements(), edm::serviceregistry::kTokenOverrides, edm::PresenceFactory::makePresence(), cppFunctionSkipper::operator, PythonProcessDesc::processDesc(), pServiceSets_, alignCSCRings::s, serviceToken_, and cms::Exception::what().
Referenced by actionPerformed().
{ //ParameterSetRetriever pr(configString_); //std::string configuration_ = pr.getAsString(); std::string configuration_ = configString_; configuration_.replace(configuration_.find("EMPTYHOST"),9,dqmCollectorHost_.value_); //check if port is a number { std::string & s = dqmCollectorPort_.value_; std::string::const_iterator it = s.begin(); while (it != s.end() && std::isdigit(*it)) ++it; if (it != s.end() || s.empty()) dqmCollectorPort_="0"; } configuration_.replace(configuration_.find("EMPTYPORT"),9,dqmCollectorPort_.value_); PythonProcessDesc ppdesc = PythonProcessDesc(configuration_); boost::shared_ptr<edm::ProcessDesc> pdesc; std::vector<std::string> defaultServices = {"InitRootHandlers"}; pdesc = ppdesc.processDesc(); pdesc->addServices(defaultServices); if (!pServiceSets_) { pServiceSets_ = pdesc->getServicesPSets(); edmplugin::PluginManager::configure(edmplugin::standard::config()); } try { edm::PresenceFactory *pf = edm::PresenceFactory::get(); if(pf != 0) { pf->makePresence("MessageServicePresence").release(); } else { LOG4CPLUS_WARN(getApplicationLogger(),"Unable to create message service presence"); } } catch(edm::Exception e) { LOG4CPLUS_WARN(getApplicationLogger(),e.what()); } catch(cms::Exception e) { LOG4CPLUS_WARN(getApplicationLogger(),e.what()); } catch(std::exception e) { LOG4CPLUS_WARN(getApplicationLogger(),e.what()); } catch(...) { LOG4CPLUS_WARN(getApplicationLogger(),"Unknown Exception (Message Presence)"); } try { serviceToken_ = edm::ServiceRegistry::createSet(*pServiceSets_); } catch (...) { LOG4CPLUS_WARN(getApplicationLogger(),"Failed creation of service token "); dqmEnabled_.value_=false; } edm::ServiceRegistry::Operate operate(serviceToken_); evtProcessor_ = new edm::EventProcessor(pdesc, serviceToken_, edm::serviceregistry::kTokenOverrides); try{ if(edm::Service<DQMStore>().isAvailable()) dqmStore_ = edm::Service<DQMStore>().operator->(); } catch(...) { LOG4CPLUS_WARN(getApplicationLogger(),"exception when trying to get service DQMStore"); dqmEnabled_.value_=false; } try{ if(edm::Service<DQMService>().isAvailable()) dqmService_ = edm::Service<DQMService>().operator->(); } catch(...) { LOG4CPLUS_WARN(getApplicationLogger(),"exception when trying to get service DQMService"); dqmEnabled_.value_=false; } if (!dqmEnabled_.value_) LOG4CPLUS_ERROR(getApplicationLogger(),"Failed to initialize DQMService/DQMStore"); if (dqmState_!="Removed") initMonitorElements(); }
void iDie::initMonitorElements | ( | ) | [private] |
Definition at line 1168 of file iDie.cc.
References DQMStore::book1D(), DQMStore::book2D(), DQMStore::bookFloat(), DQMStore::bookInt(), busySummary2_, busySummary_, busySummaryUncorr1_, busySummaryUncorr2_, DQMStore::cd(), commonLsHistory, currentLs_, daqBusySummary2_, daqBusySummary_, dqmStore_, epInstances, eventId_, eventTimeStamp_, evtProcessor_, MonitorElement::Fill(), fuReportsSummary_, i, ilumiprev_, lastRunNumberSet_, lsHistory, lumisecId_, meInitialized_, meVecOffenders_, meVecRate_, meVecTime_, MODNAMES, nbSubsClasses, nbSubsListInv, occupancyNameMap, pastSavedFiles_, rateSummary_, reportPeriodSummary_, ROLL, runId_, runNumber_, savedForLs_, MonitorElement::setBinLabel(), DQMStore::setCurrentFolder(), findQualityFiles::size, summaryLastLs_, timingSummary_, and topLevelFolder_.
Referenced by actionPerformed(), and initFramework().
{ if (!evtProcessor_) return; dqmStore_->cd(); meVecRate_.clear(); meVecTime_.clear(); meVecOffenders_.clear(); for (unsigned int i=0;i<epInstances.size();i++) { currentLs_[i]=0; } ilumiprev_ = 0; savedForLs_=0; summaryLastLs_ = 0; pastSavedFiles_.clear(); dqmStore_->setCurrentFolder(topLevelFolder_.value_ + "/EventInfo/"); runId_ = dqmStore_->bookInt("iRun"); runId_->Fill(-1); lumisecId_ = dqmStore_->bookInt("iLumiSection"); lumisecId_->Fill(-1); eventId_ = dqmStore_->bookInt("iEvent"); eventId_->Fill(-1); eventTimeStamp_ = dqmStore_->bookFloat("eventTimeStamp"); dqmStore_->setCurrentFolder(topLevelFolder_.value_ + "/Layouts/"); for (unsigned int i=0;i<nbSubsClasses;i++) { std::ostringstream str; str << nbSubsListInv[i]; meVecRate_.push_back(dqmStore_->book1D("EVENT_RATE_"+TString(str.str().c_str()), "Average event rate for nodes with " + TString(str.str().c_str()) + " EP instances", 4000,1.,4001)); meVecTime_.push_back(dqmStore_->book1D("EVENT_TIME_"+TString(str.str().c_str()), "Average event processing time for nodes with " + TString(str.str().c_str()) + " EP instances", 4000,1.,4001)); meVecOffenders_.push_back(dqmStore_->book2D("MODULE_FRACTION_"+TString(str.str().c_str()), "Module processing time fraction_"+ TString(str.str().c_str()), ROLL,1.,1.+ROLL,MODNAMES,0,MODNAMES)); //fill 1 in underrflow bin meVecOffenders_[i]->Fill(0,1); occupancyNameMap[i].clear(); } rateSummary_ = dqmStore_->book2D("00_RATE_SUMMARY","Rate Summary (Hz)",ROLL,0,ROLL,epInstances.size()+1,0,epInstances.size()+1); reportPeriodSummary_ = dqmStore_->book2D("00_REPORT_PERIOD_SUMMARY","Average report period (s)",ROLL,0,ROLL,epInstances.size()+1,0,epInstances.size()+1); timingSummary_ = dqmStore_->book2D("01_TIMING_SUMMARY","Event Time Summary (ms)",ROLL,0,ROLL,epInstances.size()+1,0,epInstances.size()+1); busySummary_ = dqmStore_->book2D("02_BUSY_SUMMARY","Busy fraction ",ROLL,0,ROLL,epInstances.size()+2,0,epInstances.size()+2); busySummary2_ = dqmStore_->book2D("03_BUSY_SUMMARY_PROCSTAT","Busy fraction from /proc/stat",ROLL,0,ROLL,epInstances.size()+2,0,epInstances.size()+2); busySummaryUncorr1_ = dqmStore_->book2D("04_BUSY_SUMMARY_UNCORR","Busy fraction (uncorrected)", ROLL,0,ROLL,epInstances.size()+2,0,epInstances.size()+2); busySummaryUncorr2_ = dqmStore_->book2D("05_BUSY_SUMMARY_UNCORR_PROCSTAT","Busy fraction from /proc/stat(uncorrected)", ROLL,0,ROLL,epInstances.size()+2,0,epInstances.size()+2); fuReportsSummary_ = dqmStore_->book2D("06_EP_REPORTS_SUMMARY","Number of reports received",ROLL,0,ROLL,epInstances.size()+1,0,epInstances.size()+1); //busyModules_ = dqmStore_->book2D("MODULES_BUSY",ROLL,1.,1.+ROLL,MODNAMES,0,MODNAMES); //everything goes into layouts folder std::ostringstream busySummaryTitle; busySummaryTitle << "DAQ HLT Farm busy (%) for run "<< runNumber_.value_; lastRunNumberSet_ = runNumber_.value_; daqBusySummary_ = dqmStore_->book1D("reportSummaryMap",busySummaryTitle.str(),4000,1,4001.); daqBusySummary2_ = dqmStore_->book1D("reportSummaryMap_PROCSTAT","DAQ HLT Farm busy (%) from /proc/stat",4000,1,4001.); for (size_t i=1;i<=ROLL;i++) { std::ostringstream ostr; ostr << i; rateSummary_->setBinLabel(i,ostr.str(),1); reportPeriodSummary_->setBinLabel(i,ostr.str(),1); timingSummary_->setBinLabel(i,ostr.str(),1); busySummary_->setBinLabel(i,ostr.str(),1); busySummary2_->setBinLabel(i,ostr.str(),1); busySummaryUncorr1_->setBinLabel(i,ostr.str(),1); busySummaryUncorr2_->setBinLabel(i,ostr.str(),1); fuReportsSummary_->setBinLabel(i,ostr.str(),1); } for (size_t i=1;i<epInstances.size()+1;i++) { std::ostringstream ostr; ostr << epInstances[i-1]; rateSummary_->setBinLabel(i,ostr.str(),2); reportPeriodSummary_->setBinLabel(i,ostr.str(),2); timingSummary_->setBinLabel(i,ostr.str(),2); busySummary_->setBinLabel(i,ostr.str(),2); busySummary2_->setBinLabel(i,ostr.str(),2); busySummaryUncorr1_->setBinLabel(i,ostr.str(),2); busySummaryUncorr2_->setBinLabel(i,ostr.str(),2); fuReportsSummary_->setBinLabel(i,ostr.str(),2); } rateSummary_->setBinLabel(epInstances.size()+1,"All",2); //timingSummary_->setBinLabel(i,"Avg",2); busySummary_->setBinLabel(epInstances.size()+1,"%Conf",2); busySummary_->setBinLabel(epInstances.size()+2,"%Max",2); busySummary2_->setBinLabel(epInstances.size()+1,"%Conf",2); busySummary2_->setBinLabel(epInstances.size()+2,"%Max",2); fuReportsSummary_->setBinLabel(epInstances.size()+1,"All",2); //wipe out all ls history for (size_t i=0;i<epInstances.size();i++) { while (lsHistory[i].size()) { delete lsHistory[i].front(); lsHistory[i].pop_front(); } } while (commonLsHistory.size()) { delete commonLsHistory.front(); commonLsHistory.pop_front(); } meInitialized_=true; }
void iDie::initMonitorElementsDatasets | ( | ) | [private] |
Definition at line 1290 of file iDie.cc.
References DQMStore::book1D(), datasetNames_, datasetRates_, dqmEnabled_, dqmStore_, evtProcessor_, i, meInitializedDatasets_, DQMStore::setCurrentFolder(), and topLevelFolder_.
Referenced by updateDatasetHistos().
{ if (!dqmEnabled_.value_ || !evtProcessor_) return; if (meInitializedDatasets_) return; //add OUTPUT Stream histograms datasetRates_.clear(); dqmStore_->setCurrentFolder(topLevelFolder_.value_ + "/Layouts/Datasets/"); for (size_t i=0;i<datasetNames_.size();i++) { datasetRates_.push_back(dqmStore_->book1D(datasetNames_[i]+"_RATE",datasetNames_[i]+" events/s",4000,1,4001.)); } meInitializedDatasets_=true; }
void iDie::initMonitorElementsStreams | ( | ) | [private] |
Definition at line 1276 of file iDie.cc.
References DQMStore::book1D(), dqmEnabled_, dqmStore_, endPathNames_, endPathRates_, evtProcessor_, i, meInitializedStreams_, DQMStore::setCurrentFolder(), and topLevelFolder_.
Referenced by updateStreamHistos().
{ if (!dqmEnabled_.value_ || !evtProcessor_) return; if (meInitializedStreams_) return; //add OUTPUT Stream histograms endPathRates_.clear(); dqmStore_->setCurrentFolder(topLevelFolder_.value_ + "/Layouts/Streams/"); for (size_t i=0;i<endPathNames_.size();i++) { endPathRates_.push_back(dqmStore_->book1D(endPathNames_[i]+"_RATE",endPathNames_[i]+" events/s",4000,1,4001.)); } meInitializedStreams_=true; }
void iDie::parseDatasetLegenda | ( | std::string | leg | ) | [private] |
Definition at line 872 of file iDie.cc.
References datasetNames_, dsMismatch, lastDatasetLegendaMessageTimeStamp_, nDatasetLegendaMessageReceived_, and nDatasetLegendaMessageWithDataReceived_.
{ nDatasetLegendaMessageReceived_++; datasetNames_.clear(); dsMismatch=0; if(leg=="")return; gettimeofday(&lastDatasetLegendaMessageTimeStamp_,0); nDatasetLegendaMessageWithDataReceived_++; try { boost::char_separator<char> sep(","); boost::tokenizer<boost::char_separator<char> > tokens(leg, sep); for (boost::tokenizer<boost::char_separator<char> >::iterator tok_iter = tokens.begin(); tok_iter != tokens.end(); ++tok_iter) { datasetNames_.push_back((*tok_iter)); } } catch (...) {} }
void iDie::parseModuleHisto | ( | const char * | crp, |
unsigned int | lsid | ||
) | [private] |
Definition at line 714 of file iDie.cc.
References b1_, b_, commonLsHistory, cpuentries_, cpustat_, currentLs_, datap_, delta, doFlush(), alignCSCRings::e, epInstances, eventTimeStamp_, f_, MonitorElement::Fill(), fillDQMModFractionHist(), fillDQMStatHist(), evf::iDie::lsStat::getModuleSamplingPtr(), evf::iDie::lsStat::getNSampledNonIdle(), evf::iDie::lsStat::getOffendersVector(), i, lsHistory, lst, lumisecId_, mapmod_, meInitialized_, nbSubsList, nModuleHistoMessageReceived_, nModuleLegendaMessageReceived_, nstates_, perLumiFileSaver(), perTimeFileSaver(), ROLL, runId_, runNumber_, findQualityFiles::size, t_, and evf::iDie::lsStat::update().
{ if(lsid==0) return; nModuleHistoMessageReceived_++; int *trp = (int*)crp; if(t_==0 && f_!=0){ datap_ = new int[nstates_+5]; std::ostringstream ost; ost<<mapmod_[0]<<"/I"; for(unsigned int i = 1; i < nstates_; i++) ost<<":"<<mapmod_[i]; ost<<":nsubp:instance:nproc:ncpubusy";// f_->cd(); t_ = new TTree("microReport","microstate report tree"); t_->SetAutoSave(500000); b_ = t_->Branch("microstates",datap_,ost.str().c_str()); b1_ = t_->Branch("ls",&lsid,"ls/I"); } memcpy(datap_,trp,(nstates_+5)*sizeof(int)); //check ls for subprocess type unsigned int datapLen_ = nstates_+5; unsigned int nbsubs_ = datap_[datapLen_-5]; unsigned int nbproc_ = datap_[datapLen_-3]; unsigned int ncpubusy_ = datap_[datapLen_-2]; unsigned int deltaTms_ = datap_[datapLen_-1]; //find index number int nbsIdx = -1; /* debugging test unsigned int randls = 0; unsigned int randslot = 0; if (lsid>3) { randslot = rand(); if (randslot%2) nbsubs_=7; else nbsubs_=8; randls = rand(); randls%=3; lsid-=randls; } */ if (meInitialized_ && nbSubsList.find(nbsubs_)!=nbSubsList.end() && lsid) { nbsIdx = nbSubsList[nbsubs_]; if (currentLs_[nbsIdx]<lsid) {//new lumisection for this ep class if (currentLs_[nbsIdx]!=0) { if (lsHistory[nbsIdx].size()) { //refresh run/lumi number and timestamp runId_->Fill(runNumber_.value_); lumisecId_->Fill(currentLs_[nbsIdx]); struct timeval now; gettimeofday(&now, 0); eventTimeStamp_->Fill( now.tv_sec + 1e-6*now.tv_usec ); //do histogram updates for the lumi lsStat * lst = lsHistory[nbsIdx].back(); fillDQMStatHist(nbsIdx,currentLs_[nbsIdx]); fillDQMModFractionHist(nbsIdx,currentLs_[nbsIdx],lst->getNSampledNonIdle(), lst->getOffendersVector()); doFlush(); perLumiFileSaver(currentLs_[nbsIdx]); perTimeFileSaver(); } } currentLs_[nbsIdx]=lsid; //add elements for new lumisection, fill the gap if needed unsigned int lclast = commonLsHistory.size() ? commonLsHistory.back()->ls_:0; for (unsigned int newls=lclast+1;newls<=lsid;newls++) { commonLsHistory.push_back(new commonLsStat(newls,epInstances.size())); } unsigned int lhlast = lsHistory[nbsIdx].size() ? lsHistory[nbsIdx].back()->ls_:0; for (size_t newls=lhlast+1;newls<=lsid;newls++) { lsHistory[nbsIdx].push_back(new lsStat(newls,nbsubs_,nModuleLegendaMessageReceived_,nstates_)); } //remove old elements from queues while (commonLsHistory.size()>ROLL) {delete commonLsHistory.front(); commonLsHistory.pop_front();} while (lsHistory[nbsIdx].size()>ROLL) {delete lsHistory[nbsIdx].front(); lsHistory[nbsIdx].pop_front();} } if (currentLs_[nbsIdx]>=lsid) { // update for current or previous lumis unsigned int qsize=lsHistory[nbsIdx].size(); unsigned int delta = currentLs_[nbsIdx]-lsid; if (qsize>delta && delta<ROLL) { lsStat * lst = (lsHistory[nbsIdx])[qsize-delta-1]; unsigned int cumulative_ = 0; auto fillvec = lst->getModuleSamplingPtr(); for (unsigned int i=0;i<nstates_;i++) { cumulative_+=datap_[i]; if (fillvec) { fillvec[i].second+=datap_[i]; } } unsigned int busyCounts = cumulative_-datap_[2]; lst->update(busyCounts,datap_[2],nbproc_,ncpubusy_,deltaTms_); } } } else { //no predefined plots for this number of sub processes } if(t_!=0){ t_->SetEntries(t_->GetEntries()+1); b_->Fill(); b1_->Fill(); } for(unsigned int i=0;i<nstates_; i++) { cpustat_[lsid-1][i] += trp[i]; cpuentries_[lsid-1] += trp[i]; } }
void iDie::parseModuleLegenda | ( | std::string | leg | ) | [private] |
Definition at line 693 of file iDie.cc.
References lastModuleLegendaMessageTimeStamp_, mapmod_, nModuleLegendaMessageReceived_, nModuleLegendaMessageWithDataReceived_, and nstates_.
{ nModuleLegendaMessageReceived_++; if(leg=="") return; gettimeofday(&lastModuleLegendaMessageTimeStamp_,0); nModuleLegendaMessageWithDataReceived_++; mapmod_.clear(); // if(cpustat_) delete cpustat_; boost::char_separator<char> sep(","); boost::tokenizer<boost::char_separator<char> > tokens(leg, sep); for (boost::tokenizer<boost::char_separator<char> >::iterator tok_iter = tokens.begin(); tok_iter != tokens.end(); ++tok_iter){ mapmod_.push_back((*tok_iter)); } nstates_ = mapmod_.size(); // cpustat_ = new int[nstates_]; // for(int i = 0; i < nstates_; i++) // cpustat_[i]=0; // cpuentries_ = 0; }
void iDie::parsePathHisto | ( | const unsigned char * | crp, |
unsigned int | lsid | ||
) | [private] |
Definition at line 891 of file iDie.cc.
References evf::funcs::addToReport(), b2_, b3_, b4_, commonLsHistory, evf::iDie::commonLsStat::datasetCounts_, datasetNames_, evf::TriggerReportStatic::datasetsInMenu, evf::TriggerReportStatic::datasetSummaries, dsMismatch, evf::iDie::commonLsStat::endPathCounts_, evf::TriggerReportStatic::endPathsInMenu, evf::TriggerReportStatic::endPathSummaries, evf::internal::rate::etimesExcept, evf::internal::rate::etimesFailed, evf::internal::rate::etimesPassed, evf::internal::rate::etimesPassedL1, evf::internal::rate::etimesPassedPs, evf::internal::rate::etimesRun, evf::TriggerReportStatic::eventSummary, f_, i, evf::iDie::commonLsStat::ls_, meInitialized_, evf::TriggerReportStatic::nbExpected, evf::TriggerReportStatic::nbReporting, nDatasetLegendaMessageWithDataReceived_, nPathHistoMessageReceived_, evf::internal::rate::nproc, evf::internal::rate::nrep, evf::internal::rate::nsub, evf::internal::rate::ptimesExcept, evf::internal::rate::ptimesFailed, evf::internal::rate::ptimesPassed, evf::internal::rate::ptimesPassedL1, evf::internal::rate::ptimesPassedPs, evf::internal::rate::ptimesRun, r_, t_, evf::PathSummaryStatic::timesExcept, evf::PathSummaryStatic::timesFailed, evf::PathSummaryStatic::timesPassed, evf::DatasetSummaryStatic::timesPassed, evf::PathSummaryStatic::timesPassedL1, evf::PathSummaryStatic::timesPassedPs, evf::PathSummaryStatic::timesRun, edm::EventSummary::totalEvents, evf::TriggerReportStatic::trigPathsInMenu, evf::TriggerReportStatic::trigPathSummaries, trp_, trpentries_, and trppriv_.
{ if(lsid==0) return; nPathHistoMessageReceived_++; // if(lsid>=trp_.size()){ // trp_.resize(lsid); // funcs::reset(&trp_[lsid-1]); // trpentries_.resize(lsid,0); // } trppriv_ = (TriggerReportStatic*)crp; for( int i=0; i< trppriv_->trigPathsInMenu; i++) { r_.ptimesRun[i] = trppriv_->trigPathSummaries[i].timesRun; r_.ptimesPassedPs[i] = trppriv_->trigPathSummaries[i].timesPassedPs; r_.ptimesPassedL1[i] = trppriv_->trigPathSummaries[i].timesPassedL1; r_.ptimesPassed[i] = trppriv_->trigPathSummaries[i].timesPassed; r_.ptimesFailed[i] = trppriv_->trigPathSummaries[i].timesFailed; r_.ptimesExcept[i] = trppriv_->trigPathSummaries[i].timesExcept; } //find |common ls history" object for current ls commonLsStat * cst = 0; if (meInitialized_) { if (commonLsHistory.size()) cst=commonLsHistory.back(); if (cst && cst->ls_>=lsid) { unsigned int countback=commonLsHistory.size()-1; while (cst->ls_>lsid && countback) { countback--; cst=commonLsHistory[countback]; } } } for( int i=0; i< trppriv_->endPathsInMenu; i++) { r_.etimesRun[i] = trppriv_->endPathSummaries[i].timesRun; r_.etimesPassedPs[i] = trppriv_->endPathSummaries[i].timesPassedPs; r_.etimesPassedL1[i] = trppriv_->endPathSummaries[i].timesPassedL1; r_.etimesPassed[i] = trppriv_->endPathSummaries[i].timesPassed; r_.etimesFailed[i] = trppriv_->endPathSummaries[i].timesFailed; r_.etimesExcept[i] = trppriv_->endPathSummaries[i].timesExcept; if (cst) { if ((unsigned)i < cst->endPathCounts_.size()) cst->endPathCounts_[i]+=r_.etimesPassed[i]; else cst->endPathCounts_.push_back(r_.etimesPassed[i]); } } //mismatch in expected and reported dataset number if (trppriv_->datasetsInMenu!=(int)datasetNames_.size()) { dsMismatch++; if (!(dsMismatch%100) || dsMismatch<10) { LOG4CPLUS_WARN(getApplicationLogger(),"mismatch in number of datasets! " << trppriv_->datasetsInMenu << " in report, " << datasetNames_.size() << " from legend! received legends:"<< nDatasetLegendaMessageWithDataReceived_); } } for( int i=0; i< trppriv_->datasetsInMenu; i++) { if (cst) { if ((unsigned)i < cst->datasetCounts_.size()) cst->datasetCounts_[i]+=trppriv_->datasetSummaries[i].timesPassed; else cst->datasetCounts_.push_back(trppriv_->datasetSummaries[i].timesPassed); } } r_.nproc = trppriv_->eventSummary.totalEvents; r_.nsub = trppriv_->nbExpected; r_.nrep = trppriv_->nbReporting; if(t_!=0 && f_!=0 && b2_==0){ b2_ = t_->Branch("rate",&r_,"nproc/I:nsub:nrep"); std::ostringstream ost1; ost1 << "p_nrun[" << trppriv_->trigPathsInMenu << "]/I:p_npps[" << trppriv_->trigPathsInMenu << "]:p_npl1[" << trppriv_->trigPathsInMenu << "]:p_npp[" << trppriv_->trigPathsInMenu << "]:p_npf[" << trppriv_->trigPathsInMenu << "]:p_npe[" << trppriv_->trigPathsInMenu <<"]"; b3_ = t_->Branch("paths",r_.ptimesRun,ost1.str().c_str()); std::ostringstream ost2; ost2 << "ep_nrun[" << trppriv_->endPathsInMenu << "]/I:en_npps[" << trppriv_->endPathsInMenu << "]:ep_npl1[" << trppriv_->endPathsInMenu << "]:ep_npp[" << trppriv_->endPathsInMenu << "]:ep_npf[" << trppriv_->endPathsInMenu << "]:ep_npe[" << trppriv_->endPathsInMenu << "]"; b4_ = t_->Branch("endpaths",r_.etimesRun,ost2.str().c_str()); } if(b2_!=0) b2_->Fill(); if(b3_!=0) b3_->Fill(); if(b4_!=0) b4_->Fill(); funcs::addToReport(&trp_[lsid-1],trppriv_,lsid); trpentries_[lsid-1]++; }
void iDie::parsePathLegenda | ( | std::string | leg | ) | [private] |
Definition at line 833 of file iDie.cc.
References endPathNames_, lastPathLegendaMessageTimeStamp_, mappath_, nPathLegendaMessageReceived_, and nPathLegendaMessageWithDataReceived_.
{ nPathLegendaMessageReceived_++; if(leg=="")return; gettimeofday(&lastPathLegendaMessageTimeStamp_,0); nPathLegendaMessageWithDataReceived_++; mappath_.clear(); boost::char_separator<char> sep(","); boost::tokenizer<boost::char_separator<char> > tokens(leg, sep); endPathNames_.clear(); for (boost::tokenizer<boost::char_separator<char> >::iterator tok_iter = tokens.begin(); tok_iter != tokens.end(); ++tok_iter){ mappath_.push_back((*tok_iter)); if (std::string(*tok_iter).find("Output")!=std::string::npos) { std::string path_token = *tok_iter; if (path_token.find("=")!=std::string::npos) endPathNames_.push_back(path_token.substr(path_token.find("=")+1)); else endPathNames_.push_back(*tok_iter); } } //look for daqval-type menu if no "Output" endpaths found if (!endPathNames_.size()) { for (boost::tokenizer<boost::char_separator<char> >::iterator tok_iter = tokens.begin(); tok_iter != tokens.end(); ++tok_iter){ if (std::string(*tok_iter).find("output")!=std::string::npos) { std::string path_token = *tok_iter; if (path_token.find("=")!=std::string::npos) endPathNames_.push_back(path_token.substr(path_token.find("=")+1)); else endPathNames_.push_back(*tok_iter); } } } }
void iDie::perLumiFileSaver | ( | unsigned int | lsid | ) | [private] |
Definition at line 1590 of file iDie.cc.
References daqBusySummary_, dqmFilesWritable_, dqmSaveDir_, dqmStore_, alignCSCRings::e, f_, fileBaseName_, lut2db_cfg::filename, i, ilumiprev_, lastRunNumberSet_, meInitialized_, pastSavedFiles_, runNumber_, DQMStore::save(), savedForLs_, saveLsInterval_, DQMStore::SaveWithReference, MonitorElement::setTitle(), ntuplemaker::status, dqm::qstatus::STATUS_OK, createPayload::suffix, topLevelFolder_, BeamSplash_cfg::version, and writeDirectoryPresent_.
Referenced by parseModuleHisto().
{ //make sure that run number is updated before saving if (lastRunNumberSet_<runNumber_) { if (meInitialized_) { std::ostringstream busySummaryTitle; busySummaryTitle << "DAQ HLT Farm busy (%) for run "<< runNumber_.value_; daqBusySummary_->setTitle(busySummaryTitle.str()); lastRunNumberSet_ = runNumber_.value_; } } if (dqmSaveDir_.value_=="") return; //try to create directory if not there if (savedForLs_==0) { struct stat st; if (stat((dqmSaveDir_.value_+"/output").c_str(),&st) != 0) { if (mkdir((dqmSaveDir_.value_+"/output").c_str(), 0777) != 0) { LOG4CPLUS_ERROR(getApplicationLogger(),"iDie could not find nor create DQM \"output\" directory. DQM archiving -> Off."); dqmSaveDir_.value_="";//reset parameter return; } } if (stat((dqmSaveDir_.value_+"/done").c_str(),&st) != 0) { if (mkdir((dqmSaveDir_.value_+"/done").c_str(), 0777) != 0) { LOG4CPLUS_WARN(getApplicationLogger(),"iDie could not find nor create DQM \"done\" directory. DQM archiving might fail."); } } //static filename part char version[8]; sprintf(version, "_V%04d_", int(1)); version[7]='\0'; std::string sDir = dqmSaveDir_.value_; if (sDir[sDir.size()-1]!='/') sDir+="/"; sDir+="output/"; fileBaseName_ = sDir + "DQM" + version; //checking if directory is there if ( access( sDir.c_str(), 0 ) == 0 ) { struct stat status; stat( sDir.c_str(), &status ); if ( status.st_mode & S_IFDIR ) writeDirectoryPresent_=true; else writeDirectoryPresent_=false; } } if (lsid > 0 && (lsid%saveLsInterval_.value_)==0 && lsid>savedForLs_ && writeDirectoryPresent_) { savedForLs_=lsid; char suffix[64]; char rewrite[128]; sprintf(suffix, "_R%09d_L%06d", runNumber_.value_, lsid); sprintf(rewrite, "\\1Run %d/\\2/By Lumi Section %d-%d", runNumber_.value_, ilumiprev_, lsid); std::vector<std::string> systems = {topLevelFolder_.value_}; for (size_t i = 0, e = systems.size(); i != e; ++i) { std::string filename = fileBaseName_ + systems[i] + suffix + ".root"; try { dqmStore_->save(filename, systems[i] , "^(Reference/)?([^/]+)", rewrite, (DQMStore::SaveReferenceTag) DQMStore::SaveWithReference, dqm::qstatus::STATUS_OK); pastSavedFiles_.push_back(filename); if (dqmFilesWritable_.value_) chmod(filename.c_str(),0777);//allow deletion by dqm script //if (pastSavedFiles_.size() > 500) //{ //remove(pastSavedFiles_.front().c_str()); //pastSavedFiles_.pop_front(); //} } catch (...) { LOG4CPLUS_ERROR(getApplicationLogger(),"iDie could not create root file " << filename); } } ilumiprev_ = lsid; //cd() to micro report root file if (f_) f_->cd(); } }
void iDie::perTimeFileSaver | ( | ) | [private] |
Definition at line 1680 of file iDie.cc.
References daqBusySummary_, dqmFilesWritable_, dqmSaveDir_, dqmStore_, alignCSCRings::e, f_, fileBaseName_, lut2db_cfg::filename, i, lastRunNumberSet_, lastSavedForTime_, meInitialized_, reportingStart_, runNumber_, DQMStore::save(), DQMStore::SaveWithReference, MonitorElement::setTitle(), dqm::qstatus::STATUS_OK, createPayload::suffix, topLevelFolder_, and writeDirectoryPresent_.
Referenced by parseModuleHisto().
{ //make sure that run number is updated before saving if (lastRunNumberSet_<runNumber_) { if (meInitialized_) { std::ostringstream busySummaryTitle; busySummaryTitle << "DAQ HLT Farm busy (%) for run "<< runNumber_.value_; daqBusySummary_->setTitle(busySummaryTitle.str()); lastRunNumberSet_ = runNumber_.value_; } } if (dqmSaveDir_.value_=="") return; //save interval (+9 every minutes after initial) std::vector<unsigned int> minutes = {4,8,12,20}; //directory should already be there //first invocation - just record time if (!reportingStart_) { reportingStart_ = new timeval; gettimeofday(reportingStart_,0); lastSavedForTime_=0; return; } timeval new_ts; gettimeofday(&new_ts,0); unsigned int dT = (new_ts.tv_sec - reportingStart_->tv_sec) / 60; unsigned int willSaveForTime = 0; for (size_t i=0;i<minutes.size();i++) { if (dT>=minutes[i]) { if (lastSavedForTime_ < minutes[i]) { willSaveForTime=dT; lastSavedForTime_=dT; break; } } } //in periodic part unsigned int lastMinutesTime = minutes[minutes.size()-1]; if (!willSaveForTime && dT>lastMinutesTime) { if (lastSavedForTime_<lastMinutesTime || (dT-lastMinutesTime)/9 > (lastSavedForTime_-lastMinutesTime)/9) { willSaveForTime=dT; lastSavedForTime_=dT; } } if (willSaveForTime && writeDirectoryPresent_) { char suffix[64]; char rewrite[128]; sprintf(suffix, "_R%09d_T%08d", runNumber_.value_, willSaveForTime); sprintf(rewrite, "\\1Run %d/\\2/Run summary", runNumber_.value_); std::vector<std::string> systems = {topLevelFolder_.value_}; for (size_t i = 0, e = systems.size(); i != e; ++i) { std::string filename = fileBaseName_ + systems[i] + suffix + ".root"; try { dqmStore_->save(filename, systems[i] , "^(Reference/)?([^/]+)", rewrite, (DQMStore::SaveReferenceTag) DQMStore::SaveWithReference, dqm::qstatus::STATUS_OK); if (dqmFilesWritable_.value_) chmod(filename.c_str(),0777);//allow deletion by dqm script } catch (...) { LOG4CPLUS_ERROR(getApplicationLogger(),"iDie could not create root file " << filename); } } //cd() to micro report root file if (f_) f_->cd(); } }
void iDie::postEntry | ( | xgi::Input * | in, |
xgi::Output * | out | ||
) | throw (xgi::exception::Exception) |
Definition at line 472 of file iDie.cc.
References alignCSCRings::e, exception, reco::JetExtendedAssociation::getValue(), query::host, recoMuon::in, cmsPerfSuiteHarvest::now, DTTTrigCorrFirst::run, and cms::Exception::what().
Referenced by iDie().
{ timeval tv; gettimeofday(&tv,0); time_t now = tv.tv_sec; try { cgicc::Cgicc cgi(in); unsigned int run = 0; pid_t cpid = 0; /* cgicc::CgiEnvironment cgie(in); cout << "query = " << cgie.getContentLength() << endl; */ std::vector<cgicc::FormEntry> el1; el1 = cgi.getElements(); // for(unsigned int i = 0; i < el1.size(); i++) // std::cout << "name="<<el1[i].getName() << std::endl; el1.clear(); cgi.getElement("run",el1); if(el1.size()!=0) { run = el1[0].getIntegerValue(); } el1.clear(); cgi.getElement("stacktrace",el1); if(el1.size()!=0) { cpid = run; // std::cout << "=============== stacktrace =============" << std::endl; // std::cout << el1[0].getValue() << std::endl; if(el1[0].getValue().find("Dead")==0){ std::string host = cgi.getEnvironment().getRemoteHost(); std::transform(host.begin(), host.end(), host.begin(), ::toupper); ifmap fi = fus_.find(host); if(fi!=fus_.end()){ fus_.erase(fi); } if(fus_.size()==0) { //close the root file if we know the run is over if(f_!=0){ f_->cd(); f_->Write(); } if(t_ != 0) { delete t_; t_ = 0; } if(f_!=0){ f_->Close(); delete f_; f_ = 0; } } } else{ totalCores_++; std::string st = el1[0].getValue(); std::string sig; size_t psig = st.find("signal"); if(psig != std::string::npos) sig = st.substr(psig,9); std::string host = cgi.getEnvironment().getRemoteHost(); std::transform(host.begin(), host.end(), host.begin(), ::toupper); ifmap fi = fus_.find(host); if(fi!=fus_.end()){ (*fi).second.tstamp = now; (*fi).second.ccount++; (*fi).second.cpids.push_back(cpid); (*fi).second.signals.push_back(sig); (*fi).second.stacktraces.push_back(st); } } } el1.clear(); cgi.getElement("legenda",el1); if(el1.size()!=0) { parsePathLegenda(el1[0].getValue()); } cgi.getElement("LegendaAux",el1); if (el1.size()!=0) { parseDatasetLegenda(el1[0].getValue()); } cgi.getElement("trp",el1); if(el1.size()!=0) { unsigned int lsid = run; parsePathHisto((unsigned char*)(el1[0].getValue().c_str()),lsid); } el1.clear(); } catch (edm::Exception &e) { LOG4CPLUS_ERROR(getApplicationLogger(),"Caught edm exception in postEntry: " << e.what()); } catch (cms::Exception &e) { LOG4CPLUS_ERROR(getApplicationLogger(),"Caught cms exception in postEntry: " << e.what()); } catch (std::exception &e) { LOG4CPLUS_ERROR(getApplicationLogger(),"Caught std exception in postEntry: " << e.what()); } catch (...) { LOG4CPLUS_ERROR(getApplicationLogger(),"Caught unknown exception in postEntry"); } }
void iDie::postEntryiChoke | ( | xgi::Input * | in, |
xgi::Output * | out | ||
) | throw (xgi::exception::Exception) |
Definition at line 584 of file iDie.cc.
References alignCSCRings::e, exception, reco::JetExtendedAssociation::getValue(), recoMuon::in, evf::funcs::reset(), and cms::Exception::what().
Referenced by iDie().
{ // std::cout << "postEntryiChoke " << std::endl; if (dqmEnabled_.value_) { if (!evtProcessor_) initFramework(); if (!meInitialized_) { if (dqmState_!="Removed") initMonitorElements(); } } unsigned int lsid = 0; try { cgicc::Cgicc cgi(in); /* cgicc::CgiEnvironment cgie(in); cout << "query = " << cgie.getContentLength() << endl; */ std::vector<cgicc::FormEntry> el1; el1 = cgi.getElements(); // for(unsigned int i = 0; i < el1.size(); i++) // std::cout << "name="<<el1[i].getName() << std::endl; el1.clear(); cgi.getElement("run",el1); if(el1.size()!=0) { lsid = el1[0].getIntegerValue(); } el1.clear(); //with the first message for the new lsid, resize all containers so // a web access won't address an invalid location in case it interleaves between // the first cpustat update and the first scalers update or viceversa if(lsid!=0){ if(lsid>cpustat_.size()){ cpustat_.resize(lsid,std::vector<int>(nstates_,0)); cpuentries_.resize(lsid,0); } if(lsid>trp_.size()){ trp_.resize(lsid); funcs::reset(&trp_[lsid-1]); trpentries_.resize(lsid,0); } if(last_ls_ < lsid) { last_ls_ = lsid; funcs::reset(&trp_[lsid-1]); if(t_ && (last_ls_%10==0)) t_->Write(); } } cgi.getElement("legenda",el1); if(el1.size()!=0) { parseModuleLegenda(el1[0].getValue()); } cgi.getElement("trp",el1); if(el1.size()!=0) { parseModuleHisto(el1[0].getValue().c_str(),lsid); } el1.clear(); } catch (edm::Exception &e) { LOG4CPLUS_ERROR(getApplicationLogger(),"Caught edm exception in postEntryiChoke: " << e.what()); } catch (cms::Exception &e) { LOG4CPLUS_ERROR(getApplicationLogger(),"Caught cms exception in postEntryiChoke: " << e.what()); } catch (std::exception &e) { LOG4CPLUS_ERROR(getApplicationLogger(),"Caught std exception in postEntryiChoke: " << e.what()); } catch (...) { LOG4CPLUS_ERROR(getApplicationLogger(),"Caught unknown exception in postEntryiChoke"); } }
void iDie::reset | ( | void | ) | [private] |
Definition at line 663 of file iDie.cc.
References b1_, b2_, b3_, b4_, b_, cpuentries_, cpustat_, datap_, f_, fus_, last_ls_, t_, totalCores_, trp_, and trpentries_.
Referenced by actionPerformed().
{ fus_.erase(fus_.begin(),fus_.end()); totalCores_=0; last_ls_ = 0; trp_.clear(); trpentries_.clear(); cpustat_.clear(); cpuentries_.clear(); if(f_!=0){ f_->cd(); f_->Write(); } if(t_ != 0) { delete t_; t_=0; } if(f_!=0){ f_->Close(); delete f_; f_ = 0; } if(datap_ != 0) {delete datap_; datap_ = 0;} b_=0; b1_=0; b2_=0; b3_=0; b4_=0; }
void iDie::spotlight | ( | xgi::Input * | in, |
xgi::Output * | out | ||
) | throw (xgi::exception::Exception) |
Definition at line 993 of file iDie.cc.
References dbtoconf::out.
Referenced by iDie().
{ std::string urn = getApplicationDescriptor()->getURN(); *out << "<!-- base href=\"/" << urn << "\"> -->" << std::endl; *out << "<html>" << std::endl; *out << "<head>" << std::endl; *out << "<link type=\"text/css\" rel=\"stylesheet\""; *out << " href=\"/evf/html/styles.css\"/>" << std::endl; *out << "<title>" << getApplicationDescriptor()->getClassName() << getApplicationDescriptor()->getInstance() << " MAIN</title>" << std::endl; *out << "</head>" << std::endl; *out << "<body>" << std::endl; *out << "<table border=\"0\" width=\"100%\">" << std::endl; *out << "<tr>" << std::endl; *out << " <td align=\"left\">" << std::endl; *out << " <img" << std::endl; *out << " align=\"middle\"" << std::endl; *out << " src=\"/evf/images/spoticon.jpg\"" << std::endl; *out << " alt=\"main\"" << std::endl; *out << " width=\"64\"" << std::endl; *out << " height=\"64\"" << std::endl; *out << " border=\"\"/>" << std::endl; *out << " <b>" << std::endl; *out << getApplicationDescriptor()->getClassName() << getApplicationDescriptor()->getInstance() << std::endl; *out << " </b>" << std::endl; *out << " </td>" << std::endl; *out << " <td width=\"32\">" << std::endl; *out << " <a href=\"/urn:xdaq-application:lid=3\">" << std::endl; *out << " <img" << std::endl; *out << " align=\"middle\"" << std::endl; *out << " src=\"/hyperdaq/images/HyperDAQ.jpg\"" << std::endl; *out << " alt=\"HyperDAQ\"" << std::endl; *out << " width=\"32\"" << std::endl; *out << " height=\"32\"" << std::endl; *out << " border=\"\"/>" << std::endl; *out << " </a>" << std::endl; *out << " </td>" << std::endl; *out << " <td width=\"32\">" << std::endl; *out << " </td>" << std::endl; *out << " <td width=\"32\">" << std::endl; *out << " <a href=\"/" << urn << "/\">" << std::endl; *out << " <img" << std::endl; *out << " align=\"middle\"" << std::endl; *out << " src=\"/evf/images/idieapp.jpg\"" << std::endl; *out << " alt=\"main\"" << std::endl; *out << " width=\"32\"" << std::endl; *out << " height=\"32\"" << std::endl; *out << " border=\"\"/>" << std::endl; *out << " </a>" << std::endl; *out << " </td>" << std::endl; *out << "</tr>" << std::endl; *out << "</table>" << std::endl; *out << "<hr/>" << std::endl; *out << "<table><tr><th>Parameter</th><th>Value</th></tr>" << std::endl; *out << "<tr><td>module legenda messages received</td><td>" << nModuleLegendaMessageReceived_ << "</td></tr>" << std::endl; *out << "<tr><td>path legenda messages received</td><td>" << nPathLegendaMessageReceived_ << "</td></tr>" << std::endl; *out << "<tr><td>module legenda messages with data</td><td>" << nModuleLegendaMessageWithDataReceived_ << "</td></tr>" << std::endl; *out << "<tr><td>path legenda messages with data</td><td>" << nPathLegendaMessageWithDataReceived_ << "</td></tr>" << std::endl; *out << "<tr><td>dataset legenda messages with data</td><td>" << nDatasetLegendaMessageWithDataReceived_ << "</td></tr>" << std::endl; *out << "<tr><td>module histo messages received</td><td>" << nModuleHistoMessageReceived_<< "</td></tr>" << std::endl; *out << "<tr><td>path histo messages received</td><td>" << nPathHistoMessageReceived_<< "</td></tr>" << std::endl; tm *uptm = localtime(&lastPathLegendaMessageTimeStamp_.tv_sec); char datestring[256]; strftime(datestring, sizeof(datestring),"%c", uptm); *out << "<tr><td>time stamp of last path legenda with data</td><td>" << datestring << "</td></tr>" << std::endl; uptm = localtime(&lastModuleLegendaMessageTimeStamp_.tv_sec); strftime(datestring, sizeof(datestring),"%c", uptm); *out << "<tr><td>time stamp of last module legenda with data</td><td>" << datestring << "</td></tr>" << std::endl; *out << "</table></body>" << std::endl; }
void iDie::summaryTable | ( | xgi::Input * | in, |
xgi::Output * | out | ||
) | throw (xgi::exception::Exception) |
Definition at line 351 of file iDie.cc.
References dbtoconf::out.
Referenced by iDie().
{ *out << "<tr><td>"<<fus_.size()<<"</td><td>" << totalCores_ << "</td><td></td></tr>" << std::endl; }
void iDie::updateDatasetHistos | ( | unsigned int | forls, |
commonLsStat * | clst, | ||
commonLsStat * | prevclst | ||
) | [private] |
Definition at line 1476 of file iDie.cc.
References evf::iDie::commonLsStat::datasetCounts_, datasetNames_, datasetRates_, i, initMonitorElementsDatasets(), and meInitializedDatasets_.
Referenced by fillDQMStatHist().
{ if (datasetRates_.size()!=datasetNames_.size()) meInitializedDatasets_=false; initMonitorElementsDatasets();//reinitialize (conditionally) for (size_t i=0;i<datasetRates_.size();i++) { unsigned int count_current=0; unsigned int count_last=0; if (clst->datasetCounts_.size()>i) { count_current=clst->datasetCounts_[i]; } datasetRates_[i]->setBinContent(forls,(count_current-count_last)/23.1);//approx ls } }
void iDie::updater | ( | xgi::Input * | in, |
xgi::Output * | out | ||
) | throw (xgi::exception::Exception) |
Definition at line 345 of file iDie.cc.
References dbtoconf::out, and sistrip::runNumber_.
Referenced by iDie().
{ *out << runNumber_.value_ << std::endl; }
void iDie::updateRollingHistos | ( | unsigned int | nbsIdx, |
unsigned int | lsid, | ||
lsStat * | lst, | ||
commonLsStat * | clst, | ||
bool | roll | ||
) | [private] |
Definition at line 1337 of file iDie.cc.
References busySummary2_, busySummary_, busySummaryUncorr1_, busySummaryUncorr2_, daqBusySummary2_, daqBusySummary_, epInstances, epMax, f, evf::fround(), fuReportsSummary_, MonitorElement::getBinContent(), evf::iDie::commonLsStat::getBusyTotalFrac(), evf::iDie::commonLsStat::getBusyTotalFracTheor(), evf::iDie::lsStat::getDt(), evf::iDie::lsStat::getEvtTime(), evf::iDie::lsStat::getFracBusy(), evf::iDie::lsStat::getFracCPUBusy(), evf::iDie::commonLsStat::getNReports(), evf::iDie::lsStat::getRate(), evf::iDie::lsStat::getReports(), evf::iDie::commonLsStat::getTotalRate(), HTscaling, i, j, machineWeight, machineWeightInst, max(), rateSummary_, reportPeriodSummary_, ROLL, MonitorElement::setBinContent(), MonitorElement::setBinError(), MonitorElement::setBinLabel(), evf::iDie::commonLsStat::setBusyForClass(), summaryLastLs_, and timingSummary_.
Referenced by fillDQMStatHist().
{ unsigned int lsidBin; if (roll) { if (lsid>ROLL) { lsidBin=ROLL; if (lsid>summaryLastLs_) { //last ls in plots isn't up to date unsigned int lsdiff = lsid-summaryLastLs_; for (unsigned int i=1;i<=ROLL;i++) { if (i<ROLL) { bool emptyBin=false; if (i>ROLL-lsdiff) emptyBin=true; for (unsigned int j=1;j<=epInstances.size()+1;j++) { rateSummary_->setBinContent(i,j,emptyBin? 0 : rateSummary_->getBinContent(i+lsdiff,j)); reportPeriodSummary_->setBinContent(i,j,emptyBin? 0 : reportPeriodSummary_->getBinContent(i+lsdiff,j)); timingSummary_->setBinContent(i,j,emptyBin ? 0 : timingSummary_->getBinContent(i+lsdiff,j)); busySummary_->setBinContent(i,j,emptyBin ? 0 : busySummary_->getBinContent(i+lsdiff,j)); busySummary2_->setBinContent(i,j,emptyBin ? 0 : busySummary2_->getBinContent(i+lsdiff,j)); busySummaryUncorr1_->setBinContent(i,j,emptyBin ? 0 : busySummaryUncorr1_->getBinContent(i+lsdiff,j)); busySummaryUncorr2_->setBinContent(i,j,emptyBin ? 0 : busySummaryUncorr2_->getBinContent(i+lsdiff,j)); fuReportsSummary_->setBinContent(i,j,emptyBin ? 0 : fuReportsSummary_->getBinContent(i+lsdiff,j)); } busySummary_->setBinContent(i,epInstances.size()+2,emptyBin ? 0 : busySummary2_->getBinContent(i+lsdiff,epInstances.size()+2)); busySummary2_->setBinContent(i,epInstances.size()+2,emptyBin ? 0 : busySummary2_->getBinContent(i+lsdiff,epInstances.size()+2)); } std::ostringstream ostr; ostr << lsid-ROLL+i; rateSummary_->setBinLabel(i,ostr.str(),1); reportPeriodSummary_->setBinLabel(i,ostr.str(),1); timingSummary_->setBinLabel(i,ostr.str(),1); busySummary_->setBinLabel(i,ostr.str(),1); busySummary2_->setBinLabel(i,ostr.str(),1); busySummaryUncorr1_->setBinLabel(i,ostr.str(),1); busySummaryUncorr2_->setBinLabel(i,ostr.str(),1); fuReportsSummary_->setBinLabel(i,ostr.str(),1); } summaryLastLs_=lsid; } else if (lsid<summaryLastLs_) { if (summaryLastLs_-lsid>=ROLL) return;//very old lsidBin=ROLL-(summaryLastLs_-lsid); } } else if (lsid) {lsidBin=lsid;summaryLastLs_=lsid;} else return; } else {// previous lumisection updates unsigned int roll_pos = ROLL-(summaryLastLs_-lsid); lsidBin=lsid > roll_pos ? roll_pos : lsid; } //how busy is it with current setup float busyCorr = lst->getFracBusy() * (float)epInstances[nbsIdx]/epMax[nbsIdx]; //max based on how much is configured and max possible float fracMax = 0.5 + (std::max(epInstances[nbsIdx]-epMax[nbsIdx]/2.,0.)/(epMax[nbsIdx])) *HTscaling[nbsIdx]; if (epInstances[nbsIdx]<epMax[nbsIdx]/2) { fracMax = epInstances[nbsIdx]/((double)epMax[nbsIdx]); } //corrections for the HT effect float busyFr=0; float busyCPUFr=0; float busyFrTheor=0; float busyFrCPUTheor=0; //microstates based calculation if (busyCorr>0.5) {//take into account HT scaling for the busy fraction busyFr=(0.5 + (busyCorr-0.5)*HTscaling[nbsIdx])/fracMax; busyFrTheor = (0.5+(busyCorr-0.5)*HTscaling[nbsIdx])/ (0.5+0.5*HTscaling[nbsIdx]); } else {//below the HT threshold busyFr=busyCorr / fracMax; busyFrTheor = busyCorr / (0.5+0.5*HTscaling[nbsIdx]); } //proc/stat based calculation float busyCorr_CPU = lst->getFracCPUBusy(); if (busyCorr_CPU>0.5) { busyCPUFr=(0.5 + (busyCorr_CPU-0.5)*HTscaling[nbsIdx])/fracMax; busyFrCPUTheor = (0.5+(busyCorr_CPU-0.5)*HTscaling[nbsIdx])/ (0.5+0.5*HTscaling[nbsIdx]); } else { busyCPUFr=busyCorr_CPU / fracMax; busyFrCPUTheor = busyCorr_CPU / (0.5+0.5*HTscaling[nbsIdx]); } //average clst->setBusyForClass(nbsIdx,lst->getRate(),busyFr,busyFrTheor,busyCPUFr,busyFrCPUTheor,lst->getReports()); float busyAvg = clst->getBusyTotalFrac(false,machineWeightInst); float busyAvgCPU = clst->getBusyTotalFrac(true,machineWeightInst); //rounding busyFr=fround(busyFr,0.001f); busyCPUFr=fround(busyCPUFr,0.001f); busyFrTheor=fround(busyFrTheor,0.001f); busyFrCPUTheor=fround(busyFrCPUTheor,0.001f); busyAvg=fround(busyAvg,0.001f); //filling plots daqBusySummary_->setBinContent(lsid,busyAvg*100.); daqBusySummary_->setBinError(lsid,0); daqBusySummary2_->setBinContent(lsid,busyAvgCPU*100.); daqBusySummary2_->setBinError(lsid,0); //"rolling" histograms rateSummary_->setBinContent(lsidBin,nbsIdx+1,lst->getRate()); reportPeriodSummary_->setBinContent(lsidBin,nbsIdx+1,lst->getDt()); timingSummary_->setBinContent(lsidBin,nbsIdx+1,lst->getEvtTime()*1000); fuReportsSummary_->setBinContent(lsidBin,nbsIdx+1,lst->getReports()); busySummary_->setBinContent(lsidBin,nbsIdx+1,fround(busyFr,0.001f)); busySummary2_->setBinContent(lsidBin,nbsIdx+1,fround(busyCPUFr,0.001f)); busySummaryUncorr1_->setBinContent(lsidBin,nbsIdx+1,fround(lst->getFracBusy(),0.001f)); busySummaryUncorr2_->setBinContent(lsidBin,nbsIdx+1,fround(lst->getFracCPUBusy(),0.001f)); rateSummary_->setBinContent(lsidBin,epInstances.size()+1,clst->getTotalRate()); fuReportsSummary_->setBinContent(lsidBin,epInstances.size()+1,clst->getNReports()); busySummary_->setBinContent(lsidBin,epInstances.size()+1,fround(busyAvg,0.001f)); busySummary2_->setBinContent(lsidBin,epInstances.size()+1,fround(busyAvgCPU,0.001f)); busySummary_->setBinContent(lsidBin,epInstances.size()+2,fround(clst->getBusyTotalFracTheor(false,machineWeight),0.001f)); busySummary2_->setBinContent(lsidBin,epInstances.size()+2,fround(clst->getBusyTotalFracTheor(true,machineWeight),0.001f)); }
void iDie::updateStreamHistos | ( | unsigned int | forls, |
commonLsStat * | clst, | ||
commonLsStat * | prevclst | ||
) | [private] |
Definition at line 1461 of file iDie.cc.
References evf::iDie::commonLsStat::endPathCounts_, endPathNames_, endPathRates_, i, initMonitorElementsStreams(), and meInitializedStreams_.
Referenced by fillDQMStatHist().
{ if (endPathRates_.size()!=endPathNames_.size()) meInitializedStreams_=false; initMonitorElementsStreams();//reinitialize (conditionally) for (size_t i=0;i<endPathRates_.size();i++) { unsigned int count_current=0; unsigned int count_last=0; if (clst->endPathCounts_.size()>i) { count_current=clst->endPathCounts_[i]; } endPathRates_[i]->setBinContent(forls,(count_current-count_last)/23.1);//approx ls } }
evf::iDie::XDAQ_INSTANTIATOR | ( | ) |
TBranch* evf::iDie::b1_ [private] |
Definition at line 211 of file iDie.h.
Referenced by parseModuleHisto(), and reset().
TBranch* evf::iDie::b2_ [private] |
Definition at line 212 of file iDie.h.
Referenced by parsePathHisto(), and reset().
TBranch* evf::iDie::b3_ [private] |
Definition at line 213 of file iDie.h.
Referenced by parsePathHisto(), and reset().
TBranch* evf::iDie::b4_ [private] |
Definition at line 214 of file iDie.h.
Referenced by parsePathHisto(), and reset().
TBranch* evf::iDie::b_ [private] |
Definition at line 210 of file iDie.h.
Referenced by parseModuleHisto(), and reset().
MonitorElement* evf::iDie::busyModules_ [private] |
MonitorElement* evf::iDie::busySummary2_ [private] |
Definition at line 556 of file iDie.h.
Referenced by initMonitorElements(), and updateRollingHistos().
MonitorElement* evf::iDie::busySummary_ [private] |
Definition at line 555 of file iDie.h.
Referenced by initMonitorElements(), and updateRollingHistos().
MonitorElement* evf::iDie::busySummaryUncorr1_ [private] |
Definition at line 557 of file iDie.h.
Referenced by initMonitorElements(), and updateRollingHistos().
MonitorElement* evf::iDie::busySummaryUncorr2_ [private] |
Definition at line 558 of file iDie.h.
Referenced by initMonitorElements(), and updateRollingHistos().
xdata::String evf::iDie::class_ [private] |
std::deque<commonLsStat*> evf::iDie::commonLsHistory [private] |
Definition at line 566 of file iDie.h.
Referenced by fillDQMStatHist(), initMonitorElements(), parseModuleHisto(), and parsePathHisto().
std::string evf::iDie::configString_ [private] |
Definition at line 543 of file iDie.h.
Referenced by iDie(), and initFramework().
std::vector<int> evf::iDie::cpuentries_ [private] |
Definition at line 200 of file iDie.h.
Referenced by parseModuleHisto(), and reset().
std::vector<std::vector<int> > evf::iDie::cpustat_ [private] |
Definition at line 201 of file iDie.h.
Referenced by parseModuleHisto(), and reset().
std::vector<unsigned int> evf::iDie::currentLs_ [private] |
Definition at line 575 of file iDie.h.
Referenced by iDie(), initMonitorElements(), and parseModuleHisto().
MonitorElement* evf::iDie::daqBusySummary2_ [private] |
Definition at line 561 of file iDie.h.
Referenced by initMonitorElements(), and updateRollingHistos().
MonitorElement* evf::iDie::daqBusySummary_ [private] |
Definition at line 560 of file iDie.h.
Referenced by initMonitorElements(), perLumiFileSaver(), perTimeFileSaver(), and updateRollingHistos().
int* evf::iDie::datap_ [private] |
Definition at line 215 of file iDie.h.
Referenced by parseModuleHisto(), and reset().
std::vector<std::string > evf::iDie::datasetNames_ [private] |
Definition at line 243 of file iDie.h.
Referenced by initMonitorElementsDatasets(), parseDatasetLegenda(), parsePathHisto(), and updateDatasetHistos().
std::vector<MonitorElement *> evf::iDie::datasetRates_ [private] |
Definition at line 573 of file iDie.h.
Referenced by initMonitorElementsDatasets(), and updateDatasetHistos().
xdata::String evf::iDie::dqmCollectorHost_ [private] |
Definition at line 194 of file iDie.h.
Referenced by iDie(), and initFramework().
xdata::String evf::iDie::dqmCollectorPort_ [private] |
Definition at line 195 of file iDie.h.
Referenced by iDie(), and initFramework().
xdata::Boolean evf::iDie::dqmEnabled_ [private] |
Definition at line 544 of file iDie.h.
Referenced by actionPerformed(), doFlush(), iDie(), initFramework(), initMonitorElementsDatasets(), and initMonitorElementsStreams().
xdata::Boolean evf::iDie::dqmFilesWritable_ [private] |
Definition at line 581 of file iDie.h.
Referenced by iDie(), perLumiFileSaver(), and perTimeFileSaver().
xdata::String evf::iDie::dqmSaveDir_ [private] |
Definition at line 580 of file iDie.h.
Referenced by iDie(), perLumiFileSaver(), and perTimeFileSaver().
DQMService* evf::iDie::dqmService_ [private] |
Definition at line 541 of file iDie.h.
Referenced by doFlush(), and initFramework().
std::string evf::iDie::dqmState_ [private] |
Definition at line 178 of file iDie.h.
Referenced by actionPerformed(), and initFramework().
DQMStore* evf::iDie::dqmStore_ [private] |
Definition at line 542 of file iDie.h.
Referenced by initFramework(), initMonitorElements(), initMonitorElementsDatasets(), initMonitorElementsStreams(), perLumiFileSaver(), and perTimeFileSaver().
unsigned int evf::iDie::dsMismatch [private] |
Definition at line 590 of file iDie.h.
Referenced by parseDatasetLegenda(), and parsePathHisto().
std::vector<std::string > evf::iDie::endPathNames_ [private] |
Definition at line 242 of file iDie.h.
Referenced by initMonitorElementsStreams(), parsePathLegenda(), and updateStreamHistos().
std::vector<MonitorElement *> evf::iDie::endPathRates_ [private] |
Definition at line 570 of file iDie.h.
Referenced by initMonitorElementsStreams(), and updateStreamHistos().
std::vector<unsigned int> evf::iDie::epInstances [private] |
Definition at line 235 of file iDie.h.
Referenced by iDie(), initMonitorElements(), parseModuleHisto(), and updateRollingHistos().
std::vector<unsigned int> evf::iDie::epMax [private] |
Definition at line 236 of file iDie.h.
Referenced by iDie(), and updateRollingHistos().
MonitorElement* evf::iDie::eventId_ [private] |
Definition at line 191 of file iDie.h.
Referenced by initMonitorElements().
MonitorElement* evf::iDie::eventTimeStamp_ [private] |
Definition at line 192 of file iDie.h.
Referenced by initMonitorElements(), and parseModuleHisto().
edm::EventProcessor* evf::iDie::evtProcessor_ [private] |
Definition at line 537 of file iDie.h.
Referenced by actionPerformed(), deleteFramework(), fillDQMModFractionHist(), fillDQMStatHist(), initFramework(), initMonitorElements(), initMonitorElementsDatasets(), and initMonitorElementsStreams().
TFile* evf::iDie::f_ [private] |
Definition at line 208 of file iDie.h.
Referenced by parseModuleHisto(), parsePathHisto(), perLumiFileSaver(), perTimeFileSaver(), and reset().
std::string evf::iDie::fileBaseName_ [private] |
Definition at line 584 of file iDie.h.
Referenced by perLumiFileSaver(), and perTimeFileSaver().
MonitorElement* evf::iDie::fuReportsSummary_ [private] |
Definition at line 559 of file iDie.h.
Referenced by initMonitorElements(), and updateRollingHistos().
fmap evf::iDie::fus_ [private] |
xdata::String evf::iDie::hostname_ [private] |
std::vector<float> evf::iDie::HTscaling [private] |
Definition at line 237 of file iDie.h.
Referenced by iDie(), and updateRollingHistos().
unsigned int evf::iDie::ilumiprev_ [private] |
Definition at line 578 of file iDie.h.
Referenced by initMonitorElements(), and perLumiFileSaver().
xdata::UnsignedInteger32 evf::iDie::instance_ [private] |
unsigned int evf::iDie::last_ls_ [private] |
timeval evf::iDie::lastDatasetLegendaMessageTimeStamp_ [private] |
Definition at line 232 of file iDie.h.
Referenced by iDie(), and parseDatasetLegenda().
timeval evf::iDie::lastModuleLegendaMessageTimeStamp_ [private] |
Definition at line 227 of file iDie.h.
Referenced by iDie(), and parseModuleLegenda().
timeval evf::iDie::lastPathLegendaMessageTimeStamp_ [private] |
Definition at line 228 of file iDie.h.
Referenced by iDie(), and parsePathLegenda().
unsigned int evf::iDie::lastRunNumberSet_ [private] |
Definition at line 186 of file iDie.h.
Referenced by initMonitorElements(), perLumiFileSaver(), and perTimeFileSaver().
unsigned int evf::iDie::lastSavedForTime_ [private] |
Definition at line 588 of file iDie.h.
Referenced by perTimeFileSaver().
Logger evf::iDie::log_ [private] |
std::deque<lsStat*>* evf::iDie::lsHistory [private] |
Definition at line 567 of file iDie.h.
Referenced by fillDQMModFractionHist(), fillDQMStatHist(), iDie(), initMonitorElements(), and parseModuleHisto().
MonitorElement* evf::iDie::lumisecId_ [private] |
Definition at line 190 of file iDie.h.
Referenced by initMonitorElements(), and parseModuleHisto().
std::vector<float> evf::iDie::machineWeight [private] |
Definition at line 239 of file iDie.h.
Referenced by iDie(), and updateRollingHistos().
std::vector<float> evf::iDie::machineWeightInst [private] |
Definition at line 240 of file iDie.h.
Referenced by iDie(), and updateRollingHistos().
std::vector<std::string> evf::iDie::mapmod_ [private] |
Definition at line 202 of file iDie.h.
Referenced by fillDQMModFractionHist(), parseModuleHisto(), and parseModuleLegenda().
std::vector<std::string> evf::iDie::mappath_ [private] |
Definition at line 206 of file iDie.h.
Referenced by parsePathLegenda().
bool evf::iDie::meInitialized_ [private] |
Definition at line 538 of file iDie.h.
Referenced by actionPerformed(), initMonitorElements(), parseModuleHisto(), parsePathHisto(), perLumiFileSaver(), and perTimeFileSaver().
bool evf::iDie::meInitializedDatasets_ [private] |
Definition at line 540 of file iDie.h.
Referenced by initMonitorElementsDatasets(), and updateDatasetHistos().
bool evf::iDie::meInitializedStreams_ [private] |
Definition at line 539 of file iDie.h.
Referenced by initMonitorElementsStreams(), and updateStreamHistos().
std::vector<MonitorElement*> evf::iDie::meVecOffenders_ [private] |
Definition at line 551 of file iDie.h.
Referenced by fillDQMModFractionHist(), and initMonitorElements().
std::vector<MonitorElement*> evf::iDie::meVecRate_ [private] |
Definition at line 549 of file iDie.h.
Referenced by fillDQMStatHist(), and initMonitorElements().
std::vector<MonitorElement*> evf::iDie::meVecTime_ [private] |
Definition at line 550 of file iDie.h.
Referenced by fillDQMStatHist(), and initMonitorElements().
std::vector<unsigned int> evf::iDie::nbMachines [private] |
unsigned int evf::iDie::nbSubsClasses [private] |
Definition at line 548 of file iDie.h.
Referenced by iDie(), and initMonitorElements().
std::map<unsigned int,int> evf::iDie::nbSubsList [private] |
Definition at line 546 of file iDie.h.
Referenced by iDie(), and parseModuleHisto().
std::map<int,unsigned int> evf::iDie::nbSubsListInv [private] |
Definition at line 547 of file iDie.h.
Referenced by iDie(), and initMonitorElements().
int evf::iDie::nDatasetLegendaMessageReceived_ [private] |
Definition at line 230 of file iDie.h.
Referenced by parseDatasetLegenda().
int evf::iDie::nDatasetLegendaMessageWithDataReceived_ [private] |
Definition at line 231 of file iDie.h.
Referenced by parseDatasetLegenda(), and parsePathHisto().
int evf::iDie::nModuleHistoMessageReceived_ [private] |
Definition at line 224 of file iDie.h.
Referenced by parseModuleHisto().
int evf::iDie::nModuleLegendaMessageReceived_ [private] |
Definition at line 220 of file iDie.h.
Referenced by parseModuleHisto(), and parseModuleLegenda().
int evf::iDie::nModuleLegendaMessageWithDataReceived_ [private] |
Definition at line 222 of file iDie.h.
Referenced by parseModuleLegenda().
int evf::iDie::nPathHistoMessageReceived_ [private] |
Definition at line 225 of file iDie.h.
Referenced by parsePathHisto().
int evf::iDie::nPathLegendaMessageReceived_ [private] |
Definition at line 221 of file iDie.h.
Referenced by parsePathLegenda().
int evf::iDie::nPathLegendaMessageWithDataReceived_ [private] |
Definition at line 223 of file iDie.h.
Referenced by parsePathLegenda().
unsigned int evf::iDie::nstates_ [private] |
Definition at line 199 of file iDie.h.
Referenced by parseModuleHisto(), and parseModuleLegenda().
std::vector<std::map<unsigned int, unsigned int> > evf::iDie::occupancyNameMap [private] |
Definition at line 564 of file iDie.h.
Referenced by fillDQMModFractionHist(), iDie(), and initMonitorElements().
std::list<std::string> evf::iDie::pastSavedFiles_ [private] |
Definition at line 579 of file iDie.h.
Referenced by initMonitorElements(), and perLumiFileSaver().
boost::shared_ptr<std::vector<edm::ParameterSet> > evf::iDie::pServiceSets_ [private] |
Definition at line 535 of file iDie.h.
Referenced by initFramework().
internal::rate evf::iDie::r_ [private] |
Definition at line 217 of file iDie.h.
Referenced by parsePathHisto().
MonitorElement* evf::iDie::rateSummary_ [private] |
Definition at line 552 of file iDie.h.
Referenced by initMonitorElements(), and updateRollingHistos().
timeval* evf::iDie::reportingStart_ [private] |
Definition at line 587 of file iDie.h.
Referenced by perTimeFileSaver().
MonitorElement* evf::iDie::reportPeriodSummary_ [private] |
Definition at line 553 of file iDie.h.
Referenced by initMonitorElements(), and updateRollingHistos().
MonitorElement* evf::iDie::runId_ [private] |
Definition at line 189 of file iDie.h.
Referenced by initMonitorElements(), and parseModuleHisto().
xdata::UnsignedInteger32 evf::iDie::runNumber_ [private] |
Definition at line 185 of file iDie.h.
Referenced by iDie(), initMonitorElements(), parseModuleHisto(), perLumiFileSaver(), and perTimeFileSaver().
timeval evf::iDie::runStartDetectedTimeStamp_ [private] |
unsigned int evf::iDie::savedForLs_ [private] |
Definition at line 583 of file iDie.h.
Referenced by initMonitorElements(), and perLumiFileSaver().
xdata::UnsignedInteger32 evf::iDie::saveLsInterval_ [private] |
Definition at line 577 of file iDie.h.
Referenced by iDie(), and perLumiFileSaver().
edm::ServiceToken evf::iDie::serviceToken_ [private] |
Definition at line 536 of file iDie.h.
Referenced by initFramework().
unsigned int evf::iDie::summaryLastLs_ [private] |
Definition at line 563 of file iDie.h.
Referenced by initMonitorElements(), and updateRollingHistos().
TTree* evf::iDie::t_ [private] |
Definition at line 209 of file iDie.h.
Referenced by parseModuleHisto(), parsePathHisto(), and reset().
MonitorElement* evf::iDie::timingSummary_ [private] |
Definition at line 554 of file iDie.h.
Referenced by initMonitorElements(), and updateRollingHistos().
xdata::String evf::iDie::topLevelFolder_ [private] |
Definition at line 582 of file iDie.h.
Referenced by iDie(), initMonitorElements(), initMonitorElementsDatasets(), initMonitorElementsStreams(), perLumiFileSaver(), and perTimeFileSaver().
unsigned int evf::iDie::totalCores_ [private] |
std::vector<TriggerReportStatic> evf::iDie::trp_ [private] |
Definition at line 204 of file iDie.h.
Referenced by parsePathHisto(), and reset().
std::vector<int> evf::iDie::trpentries_ [private] |
Definition at line 205 of file iDie.h.
Referenced by parsePathHisto(), and reset().
TriggerReportStatic* evf::iDie::trppriv_ [private] |
Definition at line 216 of file iDie.h.
Referenced by parsePathHisto().
xdata::String evf::iDie::url_ [private] |
bool evf::iDie::writeDirectoryPresent_ [private] |
Definition at line 585 of file iDie.h.
Referenced by perLumiFileSaver(), and perTimeFileSaver().