CMS 3D CMS Logo

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

#include <iDie.h>

Inheritance diagram for evf::iDie:

Classes

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 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 parseModuleHisto (const char *, unsigned int)
 
void parseModuleLegenda (std::string)
 
void parsePathHisto (const unsigned char *, unsigned int)
 
void parsePathLegenda (std::string)
 
void reset ()
 

Private Attributes

xdata::String class_
 
xdata::String configString_
 
std::vector< int > cpuentries_
 
std::vector< std::vector< int > > cpustat_
 
fmap fus_
 
xdata::String hostname_
 
xdata::UnsignedInteger32 instance_
 
unsigned int last_ls_
 
Logger log_
 
std::vector< std::string > mapmod_
 
std::vector< std::string > mappath_
 
unsigned int nstates_
 
xdata::UnsignedInteger32 runNumber_
 
unsigned int totalCores_
 
std::vector< TriggerReportStatictrp_
 
std::vector< int > trpentries_
 
xdata::String url_
 

Detailed Description

Definition at line 46 of file iDie.h.

Constructor & Destructor Documentation

iDie::iDie ( xdaq::ApplicationStub *  s)

Definition at line 33 of file iDie.cc.

References class_, configString_, defaultWeb(), detailsTable(), dumpTable(), fsmCallback(), hostname_, iChoke(), instance_, postEntry(), postEntryiChoke(), runNumber_, summaryTable(), updater(), and url_.

34  : xdaq::Application(s)
35  , log_(getApplicationLogger())
36  , instance_(0)
37  , runNumber_(0)
38  , totalCores_(0)
39  , nstates_(0)
40  , cpustat_(std::vector<std::vector<int> >(0))
41  , last_ls_(0)
42 {
43  // initialize application info
44  url_ =
45  getApplicationDescriptor()->getContextDescriptor()->getURL()+"/"+
46  getApplicationDescriptor()->getURN();
47  class_ =getApplicationDescriptor()->getClassName();
48  instance_=getApplicationDescriptor()->getInstance();
49  hostname_=getApplicationDescriptor()->getContextDescriptor()->getURL();
50 
51  //soap interface
52  xoap::bind(this,&evf::iDie::fsmCallback,"Configure",XDAQ_NS_URI);
53  xoap::bind(this,&evf::iDie::fsmCallback,"Enable", XDAQ_NS_URI);
54  xoap::bind(this,&evf::iDie::fsmCallback,"Stop", XDAQ_NS_URI);
55  xoap::bind(this,&evf::iDie::fsmCallback,"Halt", XDAQ_NS_URI);
56 
57  // web interface
58  xgi::bind(this,&evf::iDie::defaultWeb, "Default");
59  xgi::bind(this,&evf::iDie::summaryTable,"summary");
60  xgi::bind(this,&evf::iDie::detailsTable,"details");
61  xgi::bind(this,&evf::iDie::dumpTable, "dump" );
62  xgi::bind(this,&evf::iDie::updater, "updater");
63  xgi::bind(this,&evf::iDie::iChoke, "iChoke" );
64 
65  xgi::bind(this,&evf::iDie::postEntry, "postEntry");
66  xgi::bind(this,&evf::iDie::postEntryiChoke, "postChoke");
67  // gui_->setSmallAppIcon("/evf/images/Hilton.gif");
68  // gui_->setLargeAppIcon("/evf/images/Hilton.gif");
69 
70  xdata::InfoSpace *ispace = getApplicationInfoSpace();
71  ispace->fireItemAvailable("parameterSet", &configString_ );
72  ispace->fireItemAvailable("runNumber", &runNumber_ );
73  getApplicationInfoSpace()->addItemChangedListener("runNumber", this);
74 }
xdata::UnsignedInteger32 runNumber_
Definition: iDie.h:131
xdata::UnsignedInteger32 instance_
Definition: iDie.h:129
xdata::String configString_
Definition: iDie.h:132
unsigned int nstates_
Definition: iDie.h:136
void postEntryiChoke(xgi::Input *in, xgi::Output *out)
Definition: iDie.cc:402
Logger log_
Definition: iDie.h:124
void iChoke(xgi::Input *in, xgi::Output *out)
Definition: iDie.cc:257
void updater(xgi::Input *in, xgi::Output *out)
Definition: iDie.cc:194
xdata::String class_
Definition: iDie.h:128
std::vector< std::vector< int > > cpustat_
Definition: iDie.h:138
unsigned int totalCores_
Definition: iDie.h:135
xoap::MessageReference fsmCallback(xoap::MessageReference msg)
Definition: iDie.cc:99
void detailsTable(xgi::Input *in, xgi::Output *out)
Definition: iDie.cc:208
void postEntry(xgi::Input *in, xgi::Output *out)
Definition: iDie.cc:324
void dumpTable(xgi::Input *in, xgi::Output *out)
Definition: iDie.cc:228
void defaultWeb(xgi::Input *in, xgi::Output *out)
Definition: iDie.cc:160
unsigned int last_ls_
Definition: iDie.h:140
xdata::String hostname_
Definition: iDie.h:130
void summaryTable(xgi::Input *in, xgi::Output *out)
Definition: iDie.cc:200
string s
Definition: asciidump.py:422
xdata::String url_
Definition: iDie.h:127
iDie::~iDie ( )
virtual

Definition at line 78 of file iDie.cc.

79 {
80 }

Member Function Documentation

void iDie::actionPerformed ( xdata::Event &  e)

Definition at line 83 of file iDie.cc.

References reset().

84 {
85 
86  if (e.type()=="ItemChangedEvent" ) {
87  std::string item = dynamic_cast<xdata::ItemChangedEvent&>(e).itemName();
88 
89  if ( item == "runNumber") {
90  LOG4CPLUS_WARN(getApplicationLogger(),
91  "New Run was started - iDie will reset");
92  reset();
93  }
94 
95  }
96 }
void reset()
Definition: iDie.cc:436
void iDie::defaultWeb ( xgi::Input in,
xgi::Output out 
)
throw (xgi::exception::Exception
)

Definition at line 160 of file iDie.cc.

References evf::internal::fu::ccount, recoMuon::in, dbtoconf::out, reset(), DTTTrigCorrFirst::run, and sistrip::runNumber_.

Referenced by iDie().

162 {
163  cgicc::Cgicc cgi(in);
164  std::string method = cgi.getEnvironment().getRequestMethod();
165  if(method == "POST"){
166  unsigned int run;
167  std::vector<cgicc::FormEntry> el1 = cgi.getElements();
168  cgi.getElement("run",el1);
169  if(el1.size()!=0){
170  run = el1[0].getIntegerValue();
171  if(run > runNumber_.value_ || runNumber_.value_==0){
172  if(runNumber_.value_!=0) reset();
173  runNumber_.value_ = run;
174  }
175  }
176  internal::fu fuinstance;
177 
178  fuinstance.ccount = 0;
179  std::string hostname = cgi.getEnvironment().getRemoteHost();
180  std::transform(hostname.begin(), hostname.end(),
181  hostname.begin(), ::toupper);
182  fus_[hostname] = fuinstance;
183  }
184  else{
185  *out << "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">"
186  << "<html><head><title>" << getApplicationDescriptor()->getClassName()
187  << getApplicationDescriptor()->getInstance() << "</title>"
188  << "<meta http-equiv=\"REFRESH\" content=\"0;url=/evf/html/idiePage.html\">"
189  << "</head></html>";
190  }
191 }
xdata::UnsignedInteger32 runNumber_
Definition: iDie.h:131
tuple out
Definition: dbtoconf.py:99
fmap fus_
Definition: iDie.h:133
unsigned int ccount
Definition: iDie.h:37
void reset()
Definition: iDie.cc:436
void iDie::detailsTable ( xgi::Input in,
xgi::Output out 
)
throw (xgi::exception::Exception
)

Definition at line 208 of file iDie.cc.

References i, cmsPerfSuiteHarvest::now, and dbtoconf::out.

Referenced by iDie().

210 {
211  timeval tv;
212  gettimeofday(&tv,0);
213  time_t now = tv.tv_sec;
214  for(ifmap i = fus_.begin(); i != fus_.end(); i++)
215  if((*i).second.ccount != 0){
216  *out << "<tr><td "
217  << (now-(*i).second.tstamp<300 ? "style=\"background-color:red\"" : "")
218  << ">"<<(*i).first<<"</td><td>"
219  << (*i).second.ccount << "</td>"
220  << "<td onClick=loaddump(\'" << url_.value_ << "/dump?name="
221  << (*i).first << "\')>" << (*i).second.cpids.back()
222  << "</td><td>" <<(*i).second.signals.back()
223  << "</td></tr>" << std::endl;
224  }
225 }
int i
Definition: DBlmapReader.cc:9
tuple out
Definition: dbtoconf.py:99
fmap fus_
Definition: iDie.h:133
fmap::iterator ifmap
Definition: iDie.h:44
xdata::String url_
Definition: iDie.h:127
void iDie::dumpTable ( xgi::Input in,
xgi::Output out 
)
throw (xgi::exception::Exception
)

Definition at line 228 of file iDie.cc.

References gather_cfg::cout, recoMuon::in, and dbtoconf::out.

Referenced by iDie().

230 {
231  cgicc::Cgicc cgi(in);
232 
233  std::vector<cgicc::FormEntry> el1;
234  cgi.getElement("name",el1);
235  if(el1.size()!=0){
236  std::string hostname = el1[0].getValue();
237  std::transform(hostname.begin(), hostname.end(),
238  hostname.begin(), ::toupper);
239  ifmap fi = fus_.find(hostname);
240  if(fi!=fus_.end()){
241  *out << (*fi).second.stacktraces.back() << std::endl;
242  }
243  else{
244  for(fi=fus_.begin(); fi != fus_.end(); fi++)
245  std::cout << "known hosts: " << (*fi).first << std::endl;
246  }
247  }
248 }
tuple out
Definition: dbtoconf.py:99
fmap fus_
Definition: iDie.h:133
fmap::iterator ifmap
Definition: iDie.h:44
tuple cout
Definition: gather_cfg.py:41
xoap::MessageReference iDie::fsmCallback ( xoap::MessageReference  msg)
throw (xoap::exception::Exception
)

Definition at line 99 of file iDie.cc.

References edmPickEvents::command, edm::hlt::Exception, i, runTheMatrix::msg, python.Node::node, and evf::utils::state.

Referenced by iDie().

101 {
102 
103  xoap::SOAPPart part =msg->getSOAPPart();
104  xoap::SOAPEnvelope env =part.getEnvelope();
105  xoap::SOAPBody body =env.getBody();
106  DOMNode *node =body.getDOMNode();
107  DOMNodeList *bodyList=node->getChildNodes();
108  DOMNode *command =0;
109  std::string commandName;
110 
111  for (unsigned int i=0;i<bodyList->getLength();i++) {
112  command = bodyList->item(i);
113  if(command->getNodeType() == DOMNode::ELEMENT_NODE) {
114  commandName = xoap::XMLCh2String(command->getLocalName());
115  break;
116  }
117  }
118 
119  if (commandName.empty()) {
120  XCEPT_RAISE(xoap::exception::Exception,"Command not found.");
121  }
122 
123  // fire appropriate event and create according response message
124  try {
125 
126  // response string
127  xoap::MessageReference reply = xoap::createMessage();
128  xoap::SOAPEnvelope envelope = reply->getSOAPPart().getEnvelope();
129  xoap::SOAPName responseName = envelope.createName(commandName+"Response",
130  "xdaq",XDAQ_NS_URI);
131  xoap::SOAPBodyElement responseElem =
132  envelope.getBody().addBodyElement(responseName);
133 
134  std::string state;
135  // generate correct return state string
136  if(commandName == "Configure") state = "Ready";
137  else if(commandName == "Enable") state = "Enabled";
138  else if(commandName == "Stop") state = "Ready";
139  else if(commandName == "Halt") state = "Halted";
140  else state = "BOH";
141 
142  xoap::SOAPName stateName = envelope.createName("state",
143  "xdaq",XDAQ_NS_URI);
144  xoap::SOAPElement stateElem = responseElem.addChildElement(stateName);
145  xoap::SOAPName attributeName = envelope.createName("stateName",
146  "xdaq",XDAQ_NS_URI);
147  stateElem.addAttribute(attributeName,state);
148 
149  return reply;
150  }
152  XCEPT_RETHROW(xoap::exception::Exception,"invalid command.",e);
153  }
154 
155 
156 
157 }
int i
Definition: DBlmapReader.cc:9
tuple node
Definition: Node.py:50
part
Definition: HCALResponse.h:21
char state
Definition: procUtils.cc:75
void iDie::iChoke ( xgi::Input in,
xgi::Output out 
)
throw (xgi::exception::Exception
)

Definition at line 257 of file iDie.cc.

References begin, gather_cfg::cout, i, evf::iDie::sorted_indices::ii(), recoMuon::in, j, dbtoconf::out, and tmp.

Referenced by iDie().

259 {
260  cgicc::Cgicc cgi(in);
261  unsigned int i = 0;
262 // while(i<mapmod_.size()){
263 // *out << i << " " << mapmod_[i] << std::endl;
264 // ++i;
265 // }
266  std::cout << "iChoke, last_ls= " << last_ls_ << std::endl;
267  if(last_ls_==0) return;
268  *out << "Last ls=" << last_ls_ << "Cpu statistics="
269  << cpuentries_[last_ls_-1] << std::endl;
270  *out << "================" << std::endl;
271  sorted_indices tmp(cpustat_[last_ls_-1]);
272  // std::sort(tmp.begin(),tmp.end());// figure out how to remap indices of legenda
273  while(i<nstates_){
274  if(tmp[i]!=0) *out << mapmod_[tmp.ii(i)] << " " << float(tmp[i])/float(cpuentries_[last_ls_-1]) << std::endl;
275  i++;
276  }
277  *out << "\n\n\n";
278  unsigned int begin = last_ls_<10 ? 0 : last_ls_-10;
279  for(i=begin; i < last_ls_; i++)
280  *out << std::setw(9) << i +1 << " ";
281  *out << std::endl;
282  for(i=begin; i < last_ls_; i++)
283  *out << "----------";
284  *out << std::endl;
285  for(i=begin; i < last_ls_; i++)
286  *out << std::setw(8) << float(cpustat_[i][2])/float(cpuentries_[i]) << " ";
287  *out << std::endl;
288  *out << "\n\n\n";
289  begin = last_ls_<10 ? 0 : last_ls_-10;
290  for(i=begin; i < last_ls_; i++)
291  *out << std::setw(9) << i +1 << " ";
292  *out << std::endl;
293  for(i=begin; i < last_ls_; i++)
294  *out << "----------";
295  *out << std::endl;
296  for(i=begin; i < last_ls_; i++)
297  *out << std::setw(8) << float(trp_[i].eventSummary.totalEventsPassed)/float(trp_[i].eventSummary.totalEvents) << " ";
298  *out << std::endl;
299  for(i=begin; i < last_ls_; i++)
300  *out << std::setw(8) << trp_[i].eventSummary.totalEvents << " ";
301  *out << std::endl;
302 
303  for(int j = 0; j < trp_[last_ls_-1].trigPathsInMenu; j++)
304  {
305  for(i=begin; i < last_ls_; i++)
306  *out << std::setw(8) << trp_[i].trigPathSummaries[j].timesPassed << "("
307  << trp_[i].trigPathSummaries[j].timesPassedL1 << ")("
308  << trp_[i].trigPathSummaries[j].timesPassedPs << ") ";
309  *out << mappath_[j];
310  *out << std::endl;
311  }
312  for(int j = 0; j < trp_[last_ls_-1].endPathsInMenu; j++)
313  {
314  for(i=begin; i < last_ls_; i++)
315  *out << std::setw(8) << trp_[i].endPathSummaries[j].timesPassed << " ";
316  *out << mappath_[j+trp_[last_ls_-1].trigPathsInMenu];
317  *out << std::endl;
318  }
319 
320 
321 }
int i
Definition: DBlmapReader.cc:9
unsigned int nstates_
Definition: iDie.h:136
std::vector< int > cpuentries_
Definition: iDie.h:137
std::vector< TriggerReportStatic > trp_
Definition: iDie.h:141
std::vector< std::vector< int > > cpustat_
Definition: iDie.h:138
int j
Definition: DBlmapReader.cc:9
tuple out
Definition: dbtoconf.py:99
unsigned int last_ls_
Definition: iDie.h:140
std::vector< std::string > mappath_
Definition: iDie.h:143
std::vector< std::vector< double > > tmp
Definition: MVATrainer.cc:100
#define begin
Definition: vmac.h:31
tuple cout
Definition: gather_cfg.py:41
std::vector< std::string > mapmod_
Definition: iDie.h:139
void iDie::iChokeMiniInterface ( xgi::Input in,
xgi::Output out 
)
throw (xgi::exception::Exception
)

Definition at line 251 of file iDie.cc.

253 {
254 }
void iDie::parseModuleHisto ( const char *  crp,
unsigned int  lsid 
)
private

Definition at line 459 of file iDie.cc.

References gather_cfg::cout, cpuentries_, cpustat_, i, last_ls_, and nstates_.

460 {
461  std::cout << "parseModuleHisto ls=" << lsid << std::endl;
462  if(last_ls_ < lsid) last_ls_ = lsid;
463  int *trp = (int*)crp;
464  if(lsid>=cpustat_.size()){
465  cpustat_.resize(lsid,std::vector<int>(nstates_,0));
466  cpuentries_.resize(lsid,0);
467  }
468  for(unsigned int i=0;i<nstates_; i++)
469  {
470  cpustat_[lsid-1][i] += trp[i];
471  cpuentries_[lsid-1] += trp[i];
472  }
473 }
int i
Definition: DBlmapReader.cc:9
unsigned int nstates_
Definition: iDie.h:136
std::vector< int > cpuentries_
Definition: iDie.h:137
std::vector< std::vector< int > > cpustat_
Definition: iDie.h:138
unsigned int last_ls_
Definition: iDie.h:140
tuple cout
Definition: gather_cfg.py:41
void iDie::parseModuleLegenda ( std::string  leg)
private

Definition at line 442 of file iDie.cc.

References mapmod_, nstates_, and EcalElecEmulTccFlatFileProducerFromTPG_cfg::tokens.

443 {
444  mapmod_.clear();
445  // if(cpustat_) delete cpustat_;
446  boost::char_separator<char> sep(",");
447  boost::tokenizer<boost::char_separator<char> > tokens(leg, sep);
448  for (boost::tokenizer<boost::char_separator<char> >::iterator tok_iter = tokens.begin();
449  tok_iter != tokens.end(); ++tok_iter){
450  mapmod_.push_back((*tok_iter));
451  }
452  nstates_ = mapmod_.size();
453  // cpustat_ = new int[nstates_];
454 // for(int i = 0; i < nstates_; i++)
455 // cpustat_[i]=0;
456 // cpuentries_ = 0;
457 }
unsigned int nstates_
Definition: iDie.h:136
boost::tokenizer< boost::char_separator< char > > tokenizer
std::vector< std::string > mapmod_
Definition: iDie.h:139
void iDie::parsePathHisto ( const unsigned char *  crp,
unsigned int  lsid 
)
private

Definition at line 489 of file iDie.cc.

References evf::funcs::addToReport(), gather_cfg::cout, evf::funcs::reset(), trp_, and trpentries_.

490 {
491  std::cout << "parsePathHisto ls=" << lsid << std::endl;
493  if(lsid>=trp_.size()){
494  trp_.resize(lsid);
495  funcs::reset(&trp_[lsid-1]);
496  trpentries_.resize(lsid,0);
497  }
498  funcs::addToReport(&trp_[lsid-1],trp,lsid);
499  trpentries_[lsid-1]++;
500 }
void addToReport(TriggerReportStatic *trs, TriggerReportStatic *trp, unsigned int lumisection)
std::vector< int > trpentries_
Definition: iDie.h:142
std::vector< TriggerReportStatic > trp_
Definition: iDie.h:141
void reset(TriggerReportStatic *)
tuple cout
Definition: gather_cfg.py:41
void iDie::parsePathLegenda ( std::string  leg)
private

Definition at line 476 of file iDie.cc.

References gather_cfg::cout, mappath_, and EcalElecEmulTccFlatFileProducerFromTPG_cfg::tokens.

477 {
478  std::cout << "parsePathLegenda" << std::endl;
479  std::cout << leg << std::endl;
480  mappath_.clear();
481  boost::char_separator<char> sep(",");
482  boost::tokenizer<boost::char_separator<char> > tokens(leg, sep);
483  for (boost::tokenizer<boost::char_separator<char> >::iterator tok_iter = tokens.begin();
484  tok_iter != tokens.end(); ++tok_iter){
485  mappath_.push_back((*tok_iter));
486  }
487 }
boost::tokenizer< boost::char_separator< char > > tokenizer
std::vector< std::string > mappath_
Definition: iDie.h:143
tuple cout
Definition: gather_cfg.py:41
void iDie::postEntry ( xgi::Input in,
xgi::Output out 
)
throw (xgi::exception::Exception
)

Definition at line 324 of file iDie.cc.

References gather_cfg::cout, edm::getName(), reco::JetExtendedAssociation::getValue(), query::host, i, recoMuon::in, cmsPerfSuiteHarvest::now, and DTTTrigCorrFirst::run.

Referenced by iDie().

326 {
327  std::cout << "postEntry " << std::endl;
328  timeval tv;
329  gettimeofday(&tv,0);
330  time_t now = tv.tv_sec;
331  cgicc::Cgicc cgi(in);
332  unsigned int run = 0;
333  pid_t cpid = 0;
334  /* cgicc::CgiEnvironment cgie(in);
335  cout << "query = " << cgie.getContentLength() << endl;
336  */
337  std::vector<cgicc::FormEntry> el1;
338  el1 = cgi.getElements();
339  for(unsigned int i = 0; i < el1.size(); i++)
340  std::cout << "name="<<el1[i].getName() << std::endl;
341  el1.clear();
342  cgi.getElement("run",el1);
343  if(el1.size()!=0)
344  {
345  run = el1[0].getIntegerValue();
346  }
347  el1.clear();
348  cgi.getElement("stacktrace",el1);
349  if(el1.size()!=0)
350  {
351  cpid = run;
352  // std::cout << "=============== stacktrace =============" << std::endl;
353  // std::cout << el1[0].getValue() << std::endl;
354  if(el1[0].getValue().find("Dead")==0){
355 
356  std::string host = cgi.getEnvironment().getRemoteHost();
357  std::transform(host.begin(), host.end(),
358  host.begin(), ::toupper);
359  ifmap fi = fus_.find(host);
360  if(fi!=fus_.end()){
361  fus_.erase(fi);
362  }
363  }
364  else{
365  totalCores_++;
366  std::string st = el1[0].getValue();
367  std::string sig;
368  size_t psig = st.find("signal");
369  if(psig != std::string::npos)
370  sig = st.substr(psig,9);
371  std::string host = cgi.getEnvironment().getRemoteHost();
372  std::transform(host.begin(), host.end(),
373  host.begin(), ::toupper);
374  ifmap fi = fus_.find(host);
375  if(fi!=fus_.end()){
376  (*fi).second.tstamp = now;
377  (*fi).second.ccount++;
378  (*fi).second.cpids.push_back(cpid);
379  (*fi).second.signals.push_back(sig);
380  (*fi).second.stacktraces.push_back(st);
381  }
382  }
383  }
384  el1.clear();
385  cgi.getElement("legenda",el1);
386  if(el1.size()!=0)
387  {
388  parsePathLegenda(el1[0].getValue());
389  }
390  cgi.getElement("trp",el1);
391  if(el1.size()!=0)
392  {
393  unsigned int lsid = run;
394  parsePathHisto((unsigned char*)(el1[0].getValue().c_str()),lsid);
395  }
396  el1.clear();
397 
398 
399 }
int i
Definition: DBlmapReader.cc:9
void parsePathLegenda(std::string)
Definition: iDie.cc:476
unsigned int totalCores_
Definition: iDie.h:135
std::string getName(Reflex::Type &cc)
Definition: ClassFiller.cc:18
void parsePathHisto(const unsigned char *, unsigned int)
Definition: iDie.cc:489
string host
Definition: query.py:114
fmap fus_
Definition: iDie.h:133
const JetExtendedData & getValue(const Container &, const reco::JetBaseRef &)
get value for the association. Throw exception if no association found
fmap::iterator ifmap
Definition: iDie.h:44
tuple cout
Definition: gather_cfg.py:41
void iDie::postEntryiChoke ( xgi::Input in,
xgi::Output out 
)
throw (xgi::exception::Exception
)

Definition at line 402 of file iDie.cc.

References gather_cfg::cout, edm::getName(), reco::JetExtendedAssociation::getValue(), i, and recoMuon::in.

Referenced by iDie().

404 {
405  std::cout << "postEntryiChoke " << std::endl;
406  unsigned int lsid = 0;
407  cgicc::Cgicc cgi(in);
408  /* cgicc::CgiEnvironment cgie(in);
409  cout << "query = " << cgie.getContentLength() << endl;
410  */
411  std::vector<cgicc::FormEntry> el1;
412  el1 = cgi.getElements();
413  for(unsigned int i = 0; i < el1.size(); i++)
414  std::cout << "name="<<el1[i].getName() << std::endl;
415  el1.clear();
416  cgi.getElement("run",el1);
417  if(el1.size()!=0)
418  {
419  lsid = el1[0].getIntegerValue();
420  }
421  el1.clear();
422  cgi.getElement("legenda",el1);
423  if(el1.size()!=0)
424  {
425  parseModuleLegenda(el1[0].getValue());
426  }
427  cgi.getElement("trp",el1);
428  if(el1.size()!=0)
429  {
430  parseModuleHisto(el1[0].getStrippedValue().c_str(),lsid);
431  }
432  el1.clear();
433 }
int i
Definition: DBlmapReader.cc:9
void parseModuleLegenda(std::string)
Definition: iDie.cc:442
std::string getName(Reflex::Type &cc)
Definition: ClassFiller.cc:18
void parseModuleHisto(const char *, unsigned int)
Definition: iDie.cc:459
const JetExtendedData & getValue(const Container &, const reco::JetBaseRef &)
get value for the association. Throw exception if no association found
tuple cout
Definition: gather_cfg.py:41
void iDie::reset ( void  )
private

Definition at line 436 of file iDie.cc.

References fus_, and totalCores_.

Referenced by actionPerformed().

437 {
438  fus_.erase(fus_.begin(),fus_.end());
439  totalCores_=0;
440 }
unsigned int totalCores_
Definition: iDie.h:135
fmap fus_
Definition: iDie.h:133
void iDie::summaryTable ( xgi::Input in,
xgi::Output out 
)
throw (xgi::exception::Exception
)

Definition at line 200 of file iDie.cc.

References dbtoconf::out.

Referenced by iDie().

202 {
203  *out << "<tr><td>"<<fus_.size()<<"</td><td>" << totalCores_
204  << "</td><td></td></tr>" << std::endl;
205 }
unsigned int totalCores_
Definition: iDie.h:135
tuple out
Definition: dbtoconf.py:99
fmap fus_
Definition: iDie.h:133
void iDie::updater ( xgi::Input in,
xgi::Output out 
)
throw (xgi::exception::Exception
)

Definition at line 194 of file iDie.cc.

References dbtoconf::out, and sistrip::runNumber_.

Referenced by iDie().

196 {
197  *out << runNumber_.value_ << std::endl;
198 }
xdata::UnsignedInteger32 runNumber_
Definition: iDie.h:131
tuple out
Definition: dbtoconf.py:99
evf::iDie::XDAQ_INSTANTIATOR ( )

Member Data Documentation

xdata::String evf::iDie::class_
private

Definition at line 128 of file iDie.h.

Referenced by iDie().

xdata::String evf::iDie::configString_
private

Definition at line 132 of file iDie.h.

Referenced by iDie().

std::vector<int> evf::iDie::cpuentries_
private

Definition at line 137 of file iDie.h.

Referenced by parseModuleHisto().

std::vector<std::vector<int> > evf::iDie::cpustat_
private

Definition at line 138 of file iDie.h.

Referenced by parseModuleHisto().

fmap evf::iDie::fus_
private

Definition at line 133 of file iDie.h.

Referenced by reset().

xdata::String evf::iDie::hostname_
private

Definition at line 130 of file iDie.h.

Referenced by iDie().

xdata::UnsignedInteger32 evf::iDie::instance_
private

Definition at line 129 of file iDie.h.

Referenced by iDie().

unsigned int evf::iDie::last_ls_
private

Definition at line 140 of file iDie.h.

Referenced by parseModuleHisto().

Logger evf::iDie::log_
private

Definition at line 124 of file iDie.h.

std::vector<std::string> evf::iDie::mapmod_
private

Definition at line 139 of file iDie.h.

Referenced by parseModuleLegenda().

std::vector<std::string> evf::iDie::mappath_
private

Definition at line 143 of file iDie.h.

Referenced by parsePathLegenda().

unsigned int evf::iDie::nstates_
private

Definition at line 136 of file iDie.h.

Referenced by parseModuleHisto(), and parseModuleLegenda().

xdata::UnsignedInteger32 evf::iDie::runNumber_
private

Definition at line 131 of file iDie.h.

Referenced by iDie().

unsigned int evf::iDie::totalCores_
private

Definition at line 135 of file iDie.h.

Referenced by reset().

std::vector<TriggerReportStatic> evf::iDie::trp_
private

Definition at line 141 of file iDie.h.

Referenced by parsePathHisto().

std::vector<int> evf::iDie::trpentries_
private

Definition at line 142 of file iDie.h.

Referenced by parsePathHisto().

xdata::String evf::iDie::url_
private

Definition at line 127 of file iDie.h.

Referenced by iDie().