CMS 3D CMS Logo

List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions | Friends
edm::service::ELstatistics Class Reference

#include <ELstatistics.h>

Inheritance diagram for edm::service::ELstatistics:
edm::service::ELdestination

Public Member Functions

virtual ELstatisticsclone () const
 
 ELstatistics ()
 
 ELstatistics (std::ostream &osp)
 
 ELstatistics (int spaceLimit)
 
 ELstatistics (int spaceLimit, std::ostream &osp)
 
 ELstatistics (const ELstatistics &orig)
 
virtual bool log (const edm::ErrorObj &msg)
 
virtual ~ELstatistics ()
 
- Public Member Functions inherited from edm::service::ELdestination
 ELdestination ()
 
virtual void finish ()
 
virtual ELstring getNewline () const
 
virtual void summarization (const edm::ELstring &title, const edm::ELstring &sumLines)
 
virtual ~ELdestination ()
 

Static Public Member Functions

static void noteGroupedCategory (std::string const &cat)
 

Protected Member Functions

virtual void clearSummary ()
 
void noTerminationSummary ()
 
virtual std::map< ELextendedID, StatsCountstatisticsMap () const
 
virtual void summary (ELdestControl &dest, const ELstring &title="")
 
virtual void summary (std::ostream &os, const ELstring &title="")
 
virtual void summary (ELstring &s, const ELstring &title="")
 
virtual void summary ()
 
virtual void summaryForJobReport (std::map< std::string, double > &sm)
 
virtual void wipe ()
 
virtual void zero ()
 
- Protected Member Functions inherited from edm::service::ELdestination
virtual void changeFile (std::ostream &os)
 
virtual void changeFile (const ELstring &filename)
 
virtual void excludeModule (ELstring const &moduleName)
 
virtual void filterModule (ELstring const &moduleName)
 
virtual void flush ()
 
virtual void ignoreModule (ELstring const &moduleName)
 
virtual void respondToModule (ELstring const &moduleName)
 
virtual void setTableLimit (int n)
 
virtual bool thisShouldBeIgnored (const ELstring &s) const
 

Static Protected Member Functions

static ELstring formSummary (ELmap_stats &stats)
 

Protected Attributes

bool printAtTermination
 
ELmap_stats stats
 
int tableLimit
 
std::ostream & termStream
 
bool updatedStats
 
- Protected Attributes inherited from edm::service::ELdestination
bool ignoreMostModules
 
ELset_string ignoreThese
 
ELstring indent
 
ELlimitsTable limits
 
int lineLength
 
ELstring newline
 
ELstring preamble
 
bool respondToMostModules
 
ELset_string respondToThese
 
ELseverityLevel threshold
 
ELseverityLevel traceThreshold
 

Static Protected Attributes

static std::set< std::string > groupedCategories
 
- Static Protected Attributes inherited from edm::service::ELdestination
static const int defaultLineLength = 80
 

Private Member Functions

std::string dualLogName (std::string const &s)
 
ELstatisticsoperator= (const ELstatistics &orig)
 

Friends

class ELadministrator
 
class ELdestControl
 

Detailed Description

Definition at line 54 of file ELstatistics.h.

Constructor & Destructor Documentation

edm::service::ELstatistics::ELstatistics ( )

Definition at line 54 of file ELstatistics.cc.

References MessageLogger_cfi::cerr.

Referenced by clone().

55 : ELdestination ( )
56 , tableLimit ( -1 )
57 , stats ( )
58 , updatedStats ( false )
60 , printAtTermination( true )
61 {
62 
63  #ifdef ELstatisticsCONSTRUCTOR_TRACE
64  std::cerr << "Constructor for ELstatistics()\n";
65  #endif
66 
67 } // ELstatistics()
edm::service::ELstatistics::ELstatistics ( std::ostream &  osp)

Definition at line 70 of file ELstatistics.cc.

References MessageLogger_cfi::cerr.

71 : ELdestination ( )
72 , tableLimit ( -1 )
73 , stats ( )
74 , updatedStats ( false )
75 , termStream ( osp )
76 , printAtTermination( true )
77 {
78 
79  #ifdef ELstatisticsCONSTRUCTOR_TRACE
80  std::cerr << "Constructor for ELstatistics(osp)\n";
81  #endif
82 
83 } // ELstatistics()
edm::service::ELstatistics::ELstatistics ( int  spaceLimit)

Definition at line 86 of file ELstatistics.cc.

References MessageLogger_cfi::cerr.

87 : ELdestination ( )
88 , tableLimit ( spaceLimit )
89 , stats ( )
90 , updatedStats ( false )
92 , printAtTermination( true )
93 {
94 
95  #ifdef ELstatisticsCONSTRUCTOR_TRACE
96  std::cerr << "Constructor for ELstatistics(spaceLimit)\n";
97  #endif
98 
99 } // ELstatistics()
edm::service::ELstatistics::ELstatistics ( int  spaceLimit,
std::ostream &  osp 
)

Definition at line 102 of file ELstatistics.cc.

References MessageLogger_cfi::cerr.

103 : ELdestination ( )
104 , tableLimit ( spaceLimit )
105 , stats ( )
106 , updatedStats ( false )
107 , termStream ( osp )
108 , printAtTermination( true )
109 {
110 
111  #ifdef ELstatisticsCONSTRUCTOR_TRACE
112  std::cerr << "Constructor for ELstatistics(spaceLimit,osp)\n";
113  #endif
114 
115 } // ELstatistics()
edm::service::ELstatistics::ELstatistics ( const ELstatistics orig)

Definition at line 118 of file ELstatistics.cc.

References MessageLogger_cfi::cerr, edm::service::ELdestination::ignoreMostModules, edm::service::ELdestination::ignoreThese, edm::service::ELdestination::respondToMostModules, and edm::service::ELdestination::respondToThese.

119 : ELdestination ( )
120 , tableLimit ( orig.tableLimit )
121 , stats ( orig.stats )
122 , updatedStats ( orig.updatedStats )
123 , termStream ( orig.termStream )
124 , printAtTermination( orig.printAtTermination )
125 {
126 
127  #ifdef ELstatisticsCONSTRUCTOR_TRACE
128  std::cerr << "Copy constructor for ELstatistics()\n";
129  #endif
130 
131  ignoreMostModules = orig.ignoreMostModules;
132  respondToThese = orig.respondToThese;
133  respondToMostModules = orig.respondToMostModules;
134  ignoreThese = orig.ignoreThese;
135 
136 } // ELstatistics()
edm::service::ELstatistics::~ELstatistics ( )
virtual

Definition at line 139 of file ELstatistics.cc.

References MessageLogger_cfi::cerr, printAtTermination, summary(), termStream, and updatedStats.

139  {
140 
141  #ifdef ELstatisticsCONSTRUCTOR_TRACE
142  std::cerr << "Destructor for ELstatistics\n";
143  #endif
144 
146  summary( termStream, "Termination Summary" );
147 
148 } // ~ELstatistics()

Member Function Documentation

void edm::service::ELstatistics::clearSummary ( )
protectedvirtual

Reimplemented from edm::service::ELdestination.

Definition at line 233 of file ELstatistics.cc.

References edm::service::ELdestination::limits, alignCSCRings::s, stats, and edm::service::ELlimitsTable::zero().

233  {
234 
235  limits.zero();
236  ELmap_stats::iterator s;
237  for ( s = stats.begin(); s != stats.end(); ++s ) {
238  (*s).second.n = 0;
239  (*s).second.context1 = (*s).second.context2 = (*s).second.contextLast = "";
240  }
241 
242 } // clearSummary()
ELstatistics * edm::service::ELstatistics::clone ( void  ) const
virtual

Implements edm::service::ELdestination.

Definition at line 156 of file ELstatistics.cc.

References ELstatistics().

156  {
157 
158  return new ELstatistics( *this );
159 
160 } // clone()
std::string edm::service::ELstatistics::dualLogName ( std::string const &  s)
private

Definition at line 548 of file ELstatistics.cc.

References groupedCategories.

Referenced by summaryForJobReport().

549 {
550  if (s=="LogDebug") return "LogDebug_LogTrace";
551  if (s=="LogInfo") return "LogInfo_LogVerbatim";
552  if (s=="LogWarning") return "LogWarnng_LogPrint";
553  if (s=="LogError") return "LogError_LogProblem";
554  if (s=="LogSystem") return "LogSystem_LogAbsolute";
555  return "UnusedSeverity";
556 }
ELstring edm::service::ELstatistics::formSummary ( ELmap_stats stats)
staticprotected

Definition at line 260 of file ELstatistics.cc.

References eostools::cat(), g, edm::ELseverityLevel::getLevel(), edm::ELseverityLevel::getName(), edm::ELseverityLevel::getSymbol(), groupedCategories, mps_fire::i, gen::k, dttmaxenums::L, gen::n, edm::ELseverityLevel::nLevels, p3, alignCSCRings::s, edm::ELextendedID::severity, interestingDetIdCollectionProducer_cfi::severityLevel, AlCaHLTBitMon_QueryRunRegistry::string, and lumiQTWidget::t.

Referenced by summary().

260  {
261  // Major changes 8/16/07 mf, including making this
262  // a static member function instead of a free function
263 
264  using std::ios; /* _base ? */
265  using std::setw;
266  using std::right;
267  using std::left;
268 
269  std::ostringstream s;
270  int n = 0;
271 
272  // ----- Summary part I:
273  //
274  bool ftnote( false );
275 
276  struct part3 {
277  long n, t;
278  part3() : n(0L), t(0L) { ; }
280 
281  std::set<std::string>::iterator gcEnd = groupedCategories.end();
282  std::set<std::string> gCats = groupedCategories; // TEMP FOR DEBUGGING SANITY
283  for ( ELmap_stats::const_iterator i = stats.begin(); i != stats.end(); ++i ) {
284 
285  // If this is a grouped category, wait till later to output its stats
286  std::string cat = (*i).first.id;
287  if ( groupedCategories.find(cat) != gcEnd )
288  { // 8/16/07 mf
289  continue; // We will process these categories later
290  }
291 
292  // ----- Emit new process and part I header, if needed:
293  //
294  if ( n == 0 ) {
295  s << "\n";
296  s << " type category sev module "
297  "subroutine count total\n"
298  << " ---- -------------------- -- ---------------- "
299  "---------------- ----- -----\n"
300  ;
301  }
302  // ----- Emit detailed message information:
303  //
304  s << right << std::setw( 5) << ++n << ' '
305  << left << std::setw(20) << (*i).first.id.substr(0,20) << ' '
306  << left << std::setw( 2) << (*i).first.severity.getSymbol() << ' '
307  << left << std::setw(16) << (*i).first.module.substr(0,16) << ' '
308  << left << std::setw(16) << (*i).first.subroutine.substr(0,16)
309  << right << std::setw( 7) << (*i).second.n
310  << left << std::setw( 1) << ( (*i).second.ignoredFlag ? '*' : ' ' )
311  << right << std::setw( 8) << (*i).second.aggregateN << '\n'
312  ;
313  ftnote = ftnote || (*i).second.ignoredFlag;
314 
315  // ----- Obtain information for Part III, below:
316  //
317  ELextendedID xid = (*i).first;
318  p3[xid.severity.getLevel()].n += (*i).second.n;
319  p3[xid.severity.getLevel()].t += (*i).second.aggregateN;
320  } // for i
321 
322  // ----- Part Ia: The grouped categories
323  for ( std::set<std::string>::iterator g = groupedCategories.begin(); g != gcEnd; ++g ) {
324  int groupTotal = 0;
325  int groupAggregateN = 0;
326  ELseverityLevel severityLevel;
327  bool groupIgnored = true;
328  for ( ELmap_stats::const_iterator i = stats.begin(); i != stats.end(); ++i ) {
329  if ( (*i).first.id == *g ) {
330  if (groupTotal==0) severityLevel = (*i).first.severity;
331  groupIgnored &= (*i).second.ignoredFlag;
332  groupAggregateN += (*i).second.aggregateN;
333  ++groupTotal;
334  }
335  } // for i
336  if (groupTotal > 0) {
337  // ----- Emit detailed message information:
338  //
339  s << right << std::setw( 5) << ++n << ' '
340  << left << std::setw(20) << (*g).substr(0,20) << ' '
341  << left << std::setw( 2) << severityLevel.getSymbol() << ' '
342  << left << std::setw(16) << " <Any Module> " << ' '
343  << left << std::setw(16) << "<Any Function>"
344  << right << std::setw( 7) << groupTotal
345  << left << std::setw( 1) << ( groupIgnored ? '*' : ' ' )
346  << right << std::setw( 8) << groupAggregateN << '\n'
347  ;
348  ftnote = ftnote || groupIgnored;
349 
350  // ----- Obtain information for Part III, below:
351  //
352  int lev = severityLevel.getLevel();
353  p3[lev].n += groupTotal;
354  p3[lev].t += groupAggregateN;
355  } // end if groupTotal>0
356  } // for g
357 
358  // ----- Provide footnote to part I, if needed:
359  //
360  if ( ftnote )
361  s << "\n* Some occurrences of this message"
362  " were suppressed in all logs, due to limits.\n"
363  ;
364 
365  // ----- Summary part II:
366  //
367  n = 0;
368  for ( ELmap_stats::const_iterator i = stats.begin(); i != stats.end(); ++i ) {
369  std::string cat = (*i).first.id;
370  if ( groupedCategories.find(cat) != gcEnd )
371  { // 8/16/07 mf
372  continue; // We will process these categories later
373  }
374  if ( n == 0 ) {
375  s << '\n'
376  << " type category Examples: "
377  "run/evt run/evt run/evt\n"
378  << " ---- -------------------- ----"
379  "------------ ---------------- ----------------\n"
380  ;
381  }
382  s << right << std::setw( 5) << ++n << ' '
383  << left << std::setw(20) << (*i).first.id.c_str() << ' '
384  << left << std::setw(16) << (*i).second.context1.c_str() << ' '
385  << left << std::setw(16) << (*i).second.context2.c_str() << ' '
386  << (*i).second.contextLast.c_str() << '\n'
387  ;
388  } // for
389 
390  // ----- Summary part III:
391  //
392  s << "\nSeverity # Occurrences Total Occurrences\n"
393  << "-------- ------------- -----------------\n";
394  for ( int k = 0; k < ELseverityLevel::nLevels; ++k ) {
395  if ( p3[k].n != 0 || p3[k].t != 0 ) {
396  s << left << std::setw( 8) << ELseverityLevel( ELseverityLevel::ELsev_(k) ).getName().c_str()
397  << right << std::setw(17) << p3[k].n
398  << right << std::setw(20) << p3[k].t
399  << '\n'
400  ;
401  }
402  } // for
403 
404  return s.str();
405 
406 } // formSummary()
static std::set< std::string > groupedCategories
Definition: ELstatistics.h:121
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
Definition: Activities.doc:4
def cat(path)
Definition: eostools.py:400
int k[5][pyjets_maxn]
double p3[4]
Definition: TauolaWrapper.h:91
bool edm::service::ELstatistics::log ( const edm::ErrorObj msg)
virtual

Reimplemented from edm::service::ELdestination.

Definition at line 182 of file ELstatistics.cc.

References MessageLogger_cfi::cerr, edm::ErrorObj::context(), edm::ELextendedID::module, edm::ErrorObj::reactedTo(), alignCSCRings::s, edm::ELextendedID::severity, stats, edm::service::summarizeContext(), tableLimit, edm::service::ELdestination::thisShouldBeIgnored(), edm::service::ELdestination::threshold, updatedStats, and edm::ErrorObj::xid().

182  {
183 
184  #ifdef ELstatsLOG_TRACE
185  std::cerr << " =:=:=: Log to an ELstatistics\n";
186  #endif
187 
188  // See if this message is to be counted.
189 
190  if ( msg.xid().severity < threshold ) return false;
191  if ( thisShouldBeIgnored(msg.xid().module) ) return false;
192 
193  // Account for this message, making a new table entry if needed:
194  //
195  ELmap_stats::iterator s = stats.find( msg.xid() );
196  if ( s == stats.end() ) {
197  if ( tableLimit < 0 || static_cast<int>(stats.size()) < tableLimit ) {
198  stats[msg.xid()] = StatsCount();
199  s = stats.find( msg.xid() );
200  }
201  }
202  #ifdef ELstatsLOG_TRACE
203  std::cerr << " =:=:=: Message accounted for in stats \n";
204  #endif
205  if ( s != stats.end() ) {
206  (*s).second.add( summarizeContext(msg.context()), msg.reactedTo() );
207 
208  updatedStats = true;
209  #ifdef ELstatsLOG_TRACE
210  std::cerr << " =:=:=: Updated stats \n";
211  #endif
212  }
213 
214 
215  // For the purposes of telling whether any log destination has reacted
216  // to the message, the statistics destination does not count:
217  //
218 
219  #ifdef ELstatsLOG_TRACE
220  std::cerr << " =:=:=: log(msg) done (stats) \n";
221  #endif
222 
223  return false;
224 
225 
226 } // log()
static std::string summarizeContext(const std::string &c)
ELseverityLevel severity
Definition: ELextendedID.h:35
virtual bool thisShouldBeIgnored(const ELstring &s) const
const ELextendedID & xid() const
Definition: ErrorObj.cc:147
bool reactedTo() const
Definition: ErrorObj.cc:151
ELstring context() const
Definition: ErrorObj.cc:154
void edm::service::ELstatistics::noteGroupedCategory ( std::string const &  cat)
static

Definition at line 560 of file ELstatistics.cc.

References groupedCategories.

Referenced by edm::service::ThreadSafeLogMessageLoggerScribe::runCommand(), and edm::service::MessageLoggerScribe::runCommand().

560  {
561  groupedCategories.insert(cat);
562 }
static std::set< std::string > groupedCategories
Definition: ELstatistics.h:121
def cat(path)
Definition: eostools.py:400
void edm::service::ELstatistics::noTerminationSummary ( )
protectedvirtual

Reimplemented from edm::service::ELdestination.

Definition at line 442 of file ELstatistics.cc.

References printAtTermination.

442 { printAtTermination = false; }
ELstatistics& edm::service::ELstatistics::operator= ( const ELstatistics orig)
private
std::map< ELextendedID, StatsCount > edm::service::ELstatistics::statisticsMap ( ) const
protectedvirtual

Reimplemented from edm::service::ELdestination.

Definition at line 444 of file ELstatistics.cc.

References stats.

444  {
445  return std::map<ELextendedID , StatsCount> ( stats );
446 }
void edm::service::ELstatistics::summary ( ELdestControl dest,
const ELstring title = "" 
)
protectedvirtual

Reimplemented from edm::service::ELdestination.

Definition at line 409 of file ELstatistics.cc.

References formSummary(), stats, edm::service::ELdestControl::summarization(), and updatedStats.

409  {
410 
411  dest.summarization( title, formSummary(stats) );
412  updatedStats = false;
413 
414 } // summary()
static ELstring formSummary(ELmap_stats &stats)
void edm::service::ELstatistics::summary ( std::ostream &  os,
const ELstring title = "" 
)
protectedvirtual

Reimplemented from edm::service::ELdestination.

Definition at line 417 of file ELstatistics.cc.

References formSummary(), stats, and updatedStats.

417  {
418 
419  os << title << std::endl << formSummary(stats) << std::flush;
420  updatedStats = false;
421 
422 } // summary()
static ELstring formSummary(ELmap_stats &stats)
void edm::service::ELstatistics::summary ( ELstring s,
const ELstring title = "" 
)
protectedvirtual

Reimplemented from edm::service::ELdestination.

Definition at line 434 of file ELstatistics.cc.

References formSummary(), stats, and updatedStats.

434  {
435 
436  s = title + '\n' + formSummary(stats);
437  updatedStats = false;
438 
439 } // summary()
static ELstring formSummary(ELmap_stats &stats)
void edm::service::ELstatistics::summary ( )
protectedvirtual

Reimplemented from edm::service::ELdestination.

Definition at line 424 of file ELstatistics.cc.

References formSummary(), stats, termStream, and updatedStats.

Referenced by ~ELstatistics().

424  {
425 
426  termStream << "\n=============================================\n\n"
427  << "MessageLogger Summary" << std::endl << formSummary(stats)
428  << std::flush;
429  updatedStats = false;
430 
431 } // summary()
static ELstring formSummary(ELmap_stats &stats)
void edm::service::ELstatistics::summaryForJobReport ( std::map< std::string, double > &  sm)
protectedvirtual

Reimplemented from edm::service::ELdestination.

Definition at line 450 of file ELstatistics.cc.

References eostools::cat(), dualLogName(), g, edm::ELseverityLevel::getLevel(), edm::ELseverityLevel::getName(), edm::ELseverityLevel::getSymbol(), groupedCategories, mps_fire::i, gen::k, dttmaxenums::L, gen::n, edm::ELseverityLevel::nLevels, p3, alignCSCRings::s, edm::ELextendedID::severity, interestingDetIdCollectionProducer_cfi::severityLevel, stats, AlCaHLTBitMon_QueryRunRegistry::string, and lumiQTWidget::t.

450  {
451 
452  struct part3 {
453  long n, t;
454  part3() : n(0L), t(0L) { ; }
456 
457  std::set<std::string>::iterator gcEnd = groupedCategories.end();
458  std::set<std::string> gCats = groupedCategories; // TEMP FOR DEBUGGING SANITY
459 
460  // ----- Part I: The ungrouped categories
461  for ( ELmap_stats::const_iterator i = stats.begin(); i != stats.end(); ++i ) {
462 
463  // If this is a grouped category, wait till later to output its stats
464  std::string cat = (*i).first.id;
465  if ( groupedCategories.find(cat) != gcEnd )
466  {
467  continue; // We will process these categories later
468  }
469 
470  // ----- Emit detailed message information:
471  //
472  std::ostringstream s;
473  s << "Category_";
474  std::string sevSymbol = (*i).first.severity.getSymbol();
475  if ( sevSymbol[0] == '-' ) sevSymbol = sevSymbol.substr(1);
476  s << sevSymbol << "_" << (*i).first.id;
477  int n = (*i).second.aggregateN;
478  std::string catstr = s.str();
479  if (sm.find(catstr) != sm.end()) {
480  sm[catstr] += n;
481  } else {
482  sm[catstr] = n;
483  }
484  // ----- Obtain information for Part III, below:
485  //
486  ELextendedID xid = (*i).first;
487  p3[xid.severity.getLevel()].n += (*i).second.n;
488  p3[xid.severity.getLevel()].t += (*i).second.aggregateN;
489  } // for i
490 
491  // ----- Part Ia: The grouped categories
492  for ( std::set<std::string>::iterator g = groupedCategories.begin(); g != gcEnd; ++g ) {
493  int groupTotal = 0;
494  int groupAggregateN = 0;
495  ELseverityLevel severityLevel;
496  for ( ELmap_stats::const_iterator i = stats.begin(); i != stats.end(); ++i ) {
497  if ( (*i).first.id == *g ) {
498  if (groupTotal==0) severityLevel = (*i).first.severity;
499  groupAggregateN += (*i).second.aggregateN;
500  ++groupTotal;
501  }
502  } // for i
503  if (groupTotal > 0) {
504  // ----- Emit detailed message information:
505  //
506  std::ostringstream s;
507  s << "Category_";
508  std::string sevSymbol = severityLevel.getSymbol();
509  if ( sevSymbol[0] == '-' ) sevSymbol = sevSymbol.substr(1);
510  s << sevSymbol << "_" << *g;
511  int n = groupAggregateN;
512  std::string catstr = s.str();
513  if (sm.find(catstr) != sm.end()) {
514  sm[catstr] += n;
515  } else {
516  sm[catstr] = n;
517  }
518 
519  // ----- Obtain information for Part III, below:
520  //
521  int lev = severityLevel.getLevel();
522  p3[lev].n += groupTotal;
523  p3[lev].t += groupAggregateN;
524  } // end if groupTotal>0
525  } // for g
526 
527  // part II (sample event numbers) does not exist for the job report.
528 
529  // ----- Summary part III:
530  //
531  for ( int k = 0; k < ELseverityLevel::nLevels; ++k ) {
532  //if ( p3[k].t != 0 ) {
533  if (true) {
534  std::string sevName;
535  sevName = ELseverityLevel( ELseverityLevel::ELsev_(k) ).getName();
536  if (sevName == "Severe") sevName = "System";
537  if (sevName == "Success") sevName = "Debug";
538  sevName = std::string("Log")+sevName;
539  sevName = dualLogName(sevName);
540  if (sevName != "UnusedSeverity") {
541  sm[sevName] = p3[k].t;
542  }
543  }
544  } // for k
545 
546 } // summaryForJobReport()
static std::set< std::string > groupedCategories
Definition: ELstatistics.h:121
std::string dualLogName(std::string const &s)
The Signals That Services Can Subscribe To This is based on ActivityRegistry and is current per Services can connect to the signals distributed by the ActivityRegistry in order to monitor the activity of the application Each possible callback has some defined which we here list in angle e g
Definition: Activities.doc:4
def cat(path)
Definition: eostools.py:400
int k[5][pyjets_maxn]
double p3[4]
Definition: TauolaWrapper.h:91
void edm::service::ELstatistics::wipe ( )
protectedvirtual

Reimplemented from edm::service::ELdestination.

Definition at line 245 of file ELstatistics.cc.

References edm::service::ELdestination::limits, stats, and edm::service::ELlimitsTable::wipe().

245  {
246 
247  limits.wipe();
248  stats.erase( stats.begin(), stats.end() ); //stats.clear();
249 
250 } // wipe()
void edm::service::ELstatistics::zero ( )
protectedvirtual

Reimplemented from edm::service::ELdestination.

Definition at line 253 of file ELstatistics.cc.

References edm::service::ELdestination::limits, and edm::service::ELlimitsTable::zero().

253  {
254 
255  limits.zero();
256 
257 } // zero()

Friends And Related Function Documentation

friend class ELadministrator
friend

Definition at line 56 of file ELstatistics.h.

friend class ELdestControl
friend

Definition at line 57 of file ELstatistics.h.

Member Data Documentation

std::set< std::string > edm::service::ELstatistics::groupedCategories
staticprotected

Definition at line 121 of file ELstatistics.h.

Referenced by dualLogName(), formSummary(), noteGroupedCategory(), and summaryForJobReport().

bool edm::service::ELstatistics::printAtTermination
protected

Definition at line 119 of file ELstatistics.h.

Referenced by noTerminationSummary(), and ~ELstatistics().

ELmap_stats edm::service::ELstatistics::stats
protected

Definition at line 115 of file ELstatistics.h.

Referenced by clearSummary(), log(), statisticsMap(), summary(), summaryForJobReport(), and wipe().

int edm::service::ELstatistics::tableLimit
protected

Definition at line 114 of file ELstatistics.h.

Referenced by log().

std::ostream& edm::service::ELstatistics::termStream
protected

Definition at line 117 of file ELstatistics.h.

Referenced by summary(), and ~ELstatistics().

bool edm::service::ELstatistics::updatedStats
protected

Definition at line 116 of file ELstatistics.h.

Referenced by log(), summary(), and ~ELstatistics().