CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Tracer.cc
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 // Package: Services
4 // Class : Tracer
5 //
6 // Implementation:
7 // <Notes on implementation>
8 //
9 // Original Author: Chris Jones
10 // Created: Thu Sep 8 14:17:58 EDT 2005
11 //
13 
16 
25 
31 
40 
41 #include <iostream>
42 #include <vector>
43 
44 #include <string>
45 #include <set>
46 
47 namespace edm {
49  class GlobalContext;
50  class HLTPathStatus;
51  class LuminosityBlock;
52  class ModuleCallingContext;
53  class ModuleDescription;
54  class PathContext;
55  class PathsAndConsumesOfModulesBase;
56  class ProcessContext;
57  class Run;
58  class StreamContext;
59 
60  namespace service {
61  class Tracer {
62  public:
64 
65  static void fillDescriptions(edm::ConfigurationDescriptions & descriptions);
66 
68 
70  void postBeginJob();
71  void postEndJob();
72 
75 
76  void preSourceLumi();
77  void postSourceLumi();
78 
79  void preSourceRun();
80  void postSourceRun();
81 
82  void preOpenFile(std::string const&, bool);
83  void postOpenFile(std::string const&, bool);
84 
85  void preCloseFile(std::string const& lfn, bool primary);
86  void postCloseFile(std::string const&, bool);
87 
90 
93 
94  void preGlobalBeginRun(GlobalContext const&);
95  void postGlobalBeginRun(GlobalContext const&);
96 
97  void preGlobalEndRun(GlobalContext const&);
98  void postGlobalEndRun(GlobalContext const&);
99 
100  void preStreamBeginRun(StreamContext const&);
101  void postStreamBeginRun(StreamContext const&);
102 
103  void preStreamEndRun(StreamContext const&);
104  void postStreamEndRun(StreamContext const&);
105 
106  void preGlobalBeginLumi(GlobalContext const&);
107  void postGlobalBeginLumi(GlobalContext const&);
108 
109  void preGlobalEndLumi(GlobalContext const&);
110  void postGlobalEndLumi(GlobalContext const&);
111 
112  void preStreamBeginLumi(StreamContext const&);
113  void postStreamBeginLumi(StreamContext const&);
114 
115  void preStreamEndLumi(StreamContext const&);
116  void postStreamEndLumi(StreamContext const&);
117 
118  void preEvent(StreamContext const&);
119  void postEvent(StreamContext const&);
120 
121  void prePathEvent(StreamContext const&, PathContext const&);
122  void postPathEvent(StreamContext const&, PathContext const&, HLTPathStatus const&);
123 
126 
127  void preModuleBeginJob(ModuleDescription const& md);
128  void postModuleBeginJob(ModuleDescription const& md);
129 
130  void preModuleEndJob(ModuleDescription const& md);
131  void postModuleEndJob(ModuleDescription const& md);
132 
137 
142 
147 
152 
157 
160 
161  private:
163  std::set<std::string> dumpContextForLabels_;
167  };
168  }
169 }
170 
171 using namespace edm::service;
172 
173 namespace {
174 
175  class TimeStamper {
176  public:
177  TimeStamper(bool enable) :
178  enabled_(enable)
179  { }
180 
181  friend
182  std::ostream & operator<<(std::ostream & out, TimeStamper const & timestamp) {
183  if (timestamp.enabled_)
184  out << std::setprecision(2) << edm::TimeOfDay() << " ";
185  return out;
186  }
187 
188  private:
189  bool enabled_;
190  };
191 
192 }
193 
195  indention_(iPS.getUntrackedParameter<std::string>("indention")),
196  dumpContextForLabels_(),
197  dumpNonModuleContext_(iPS.getUntrackedParameter<bool>("dumpNonModuleContext")),
198  dumpPathsAndConsumes_(iPS.getUntrackedParameter<bool>("dumpPathsAndConsumes")),
199  printTimestamps_(iPS.getUntrackedParameter<bool>("printTimestamps"))
200 {
201  for (std::string & label: iPS.getUntrackedParameter<std::vector<std::string>>("dumpContextForLabels"))
203 
204  iRegistry.watchPreallocate(this, &Tracer::preallocate);
205 
206  iRegistry.watchPreBeginJob(this, &Tracer::preBeginJob);
207  iRegistry.watchPostBeginJob(this, &Tracer::postBeginJob);
208  iRegistry.watchPostEndJob(this, &Tracer::postEndJob);
209 
212 
213  iRegistry.watchPreSourceLumi(this, &Tracer::preSourceLumi);
215 
216  iRegistry.watchPreSourceRun(this, &Tracer::preSourceRun);
217  iRegistry.watchPostSourceRun(this, &Tracer::postSourceRun);
218 
219  iRegistry.watchPreOpenFile(this, &Tracer::preOpenFile);
220  iRegistry.watchPostOpenFile(this, &Tracer::postOpenFile);
221 
222  iRegistry.watchPreCloseFile(this, &Tracer::preCloseFile);
223  iRegistry.watchPostCloseFile(this, &Tracer::postCloseFile);
224 
227 
230 
233 
236 
239 
242 
245 
248 
251 
254 
255  iRegistry.watchPreEvent(this, &Tracer::preEvent);
256  iRegistry.watchPostEvent(this, &Tracer::postEvent);
257 
258  iRegistry.watchPrePathEvent(this, &Tracer::prePathEvent);
259  iRegistry.watchPostPathEvent(this, &Tracer::postPathEvent);
260 
263 
266 
269 
274 
279 
284 
289 
294 
297 
299  LogAbsolute out("Tracer");
300  out << TimeStamper(printTimestamps_);
301  out << indention_ << indention_ << " early termination before processing transition";
302  });
303  iRegistry.preStreamEarlyTerminationSignal_.connect([this](edm::StreamContext const& iContext, edm::TerminationOrigin iOrigin) {
304  LogAbsolute out("Tracer");
305  out << TimeStamper(printTimestamps_);
306  if(iContext.eventID().luminosityBlock() ==0) {
307  out << indention_ << indention_ << " early termination of run: stream = " << iContext.streamID()
308  <<" run = " << iContext.eventID().run();
309  }else {
310  if(iContext.eventID().event() == 0) {
311  out << indention_ << indention_ << " early termination of stream lumi: stream = " << iContext.streamID()
312  <<" run = " << iContext.eventID().run()
313  << " lumi = " << iContext.eventID().luminosityBlock() ;
314  } else {
315  out << indention_ << indention_ << " early termination of event: stream = " << iContext.streamID()
316  <<" run = " << iContext.eventID().run()
317  << " lumi = " << iContext.eventID().luminosityBlock()
318  << " event = "<< iContext.eventID().event();
319 
320  }
321  }
322  out<< " : time = " << iContext.timestamp().value();
323 
324  });
325  iRegistry.preGlobalEarlyTerminationSignal_.connect([this](edm::GlobalContext const& iContext, edm::TerminationOrigin iOrigin) {
326  LogAbsolute out("Tracer");
327  out << TimeStamper(printTimestamps_);
328  if(iContext.luminosityBlockID().value() ==0) {
329  out << indention_ << indention_ << " early termination of global run " << iContext.luminosityBlockID().run();
330  }else {
331  out << indention_ << indention_ << " early termination of global lumi run = " << iContext.luminosityBlockID().run()
332  << " lumi = " << iContext.luminosityBlockID().luminosityBlock() ;
333 
334  }
335  out<< " : time = " << iContext.timestamp().value();
336  });
337 }
338 
339 void
342  desc.addUntracked<std::string>("indention", "++")->setComment("Prefix characters for output. The characters are repeated to form the indentation.");
343  desc.addUntracked<std::vector<std::string>>("dumpContextForLabels", std::vector<std::string>{})->setComment("Prints context information to cout for the module transitions associated with these modules' labels");
344  desc.addUntracked<bool>("dumpNonModuleContext", false)->setComment("Prints context information to cout for the transitions not associated with any module label");
345  desc.addUntracked<bool>("dumpPathsAndConsumes", false)->setComment("Prints information to cout about paths, endpaths, products consumed by modules and the dependencies between modules created by the products they consume");
346  desc.addUntracked<bool>("printTimestamps", false)->setComment("Prints a time stamp for every transition");
347  descriptions.add("Tracer", desc);
348  descriptions.setComment("This service prints each phase the framework is processing, e.g. constructing a module,running a module, etc.");
349 }
350 
351 void
353  LogAbsolute("Tracer") << TimeStamper(printTimestamps_) << indention_ << " preallocate: " << bounds.maxNumberOfConcurrentRuns() << " concurrent runs, "
354  << bounds.maxNumberOfConcurrentLuminosityBlocks() << " concurrent luminosity sections, "
355  << bounds.maxNumberOfStreams() << " streams";
356 }
357 
358 void
360  LogAbsolute out("Tracer");
361  out << TimeStamper(printTimestamps_) << indention_ << " starting: begin job";
363  out << "\n" << "Process name = " << pc.processName() << "\n";
364  out << "paths:\n";
365  std::vector<std::string> const& paths = pathsAndConsumes.paths();
366  for(auto const& path : paths) {
367  out << " " << path << "\n";
368  }
369  out << "end paths:\n";
370  std::vector<std::string> const& endpaths = pathsAndConsumes.endPaths();
371  for(auto const& endpath : endpaths) {
372  out << " " << endpath << "\n";
373  }
374  for(unsigned int j = 0; j < paths.size(); ++j) {
375  std::vector<ModuleDescription const*> const& modulesOnPath = pathsAndConsumes.modulesOnPath(j);
376  out << "modules on path " << paths.at(j) << ":\n";
377  for(auto const& desc : modulesOnPath) {
378  out << " " << desc->moduleLabel() << "\n";
379  }
380  }
381  for(unsigned int j = 0; j < endpaths.size(); ++j) {
382  std::vector<ModuleDescription const*> const& modulesOnEndPath = pathsAndConsumes.modulesOnEndPath(j);
383  out << "modules on end path " << endpaths.at(j) << ":\n";
384  for(auto const& desc : modulesOnEndPath) {
385  out << " " << desc->moduleLabel() << "\n";
386  }
387  }
388  std::vector<ModuleDescription const*> const& allModules = pathsAndConsumes.allModules();
389  out << "All modules and modules in the current process whose products they consume:\n";
390  out << "(This does not include modules from previous processes or the source)\n";
391  for(auto const& module : allModules) {
392  out << " " << module->moduleName() << "/\'" << module->moduleLabel() << "\'";
393  unsigned int moduleID = module->id();
394  if(pathsAndConsumes.moduleDescription(moduleID) != module) {
395  throw cms::Exception("TestFailure") << "Tracer::preBeginJob, moduleDescription returns incorrect value";
396  }
397  std::vector<ModuleDescription const*> const& modulesWhoseProductsAreConsumedBy =
398  pathsAndConsumes.modulesWhoseProductsAreConsumedBy(moduleID);
399  if(!modulesWhoseProductsAreConsumedBy.empty()) {
400  out << " consumes products from these modules:\n";
401  for(auto const& producingModule : modulesWhoseProductsAreConsumedBy) {
402  out << " " << producingModule->moduleName() << "/\'" << producingModule->moduleLabel() << "\'\n";
403  }
404  } else {
405  out << "\n";
406  }
407  }
408  out << "All modules (listed by class and label) and all their consumed products.\n";
409  out << "Consumed products are listed by type, label, instance, process.\n";
410  out << "For products not in the event, \'run\' or \'lumi\' is added to indicate the TTree they are from.\n";
411  out << "For products that are declared with mayConsume, \'may consume\' is added.\n";
412  out << "For products consumed for Views, \'element type\' is added\n";
413  out << "For products only read from previous processes, \'skip current process\' is added\n";
414  for(auto const* module : allModules) {
415  out << " " << module->moduleName() << "/\'" << module->moduleLabel() << "\'";
416  std::vector<ConsumesInfo> consumesInfo = pathsAndConsumes.consumesInfo(module->id());
417  if(!consumesInfo.empty()) {
418  out << " consumes:\n";
419  for(auto const& info : consumesInfo) {
420  out << " " << info.type() << " \'" << info.label() << "\' \'" << info.instance();
421  out << "\' \'" << info.process() << "\'";
422  if(info.branchType() == InLumi) {
423  out << ", lumi";
424  } else if(info.branchType() == InRun) {
425  out << ", run";
426  }
427  if(!info.alwaysGets()) {
428  out << ", may consume";
429  }
430  if(info.kindOfType() == ELEMENT_TYPE) {
431  out << ", element type";
432  }
433  if(info.skipCurrentProcess()) {
434  out << ", skip current process";
435  }
436  out << "\n";
437  }
438  } else {
439  out << "\n";
440  }
441  }
442  }
443 }
444 
445 void
447  LogAbsolute("Tracer") << TimeStamper(printTimestamps_) << indention_ << " finished: begin job";
448 }
449 
450 void
452  LogAbsolute("Tracer") << TimeStamper(printTimestamps_) << indention_ << " finished: end job";
453 }
454 
455 void
457  LogAbsolute("Tracer") << TimeStamper(printTimestamps_) << indention_ << indention_ << " starting: source event";
458 }
459 
460 void
462  LogAbsolute("Tracer") << TimeStamper(printTimestamps_) << indention_ << indention_ << " finished: source event";
463 }
464 
465 void
467  LogAbsolute("Tracer") << TimeStamper(printTimestamps_) << indention_ << indention_ << " starting: source lumi";
468 }
469 
470 void
472  LogAbsolute("Tracer") << TimeStamper(printTimestamps_) << indention_ << indention_ << " finished: source lumi";
473 }
474 
475 void
477  LogAbsolute("Tracer") << TimeStamper(printTimestamps_) << indention_ << indention_ << " starting: source run";
478 }
479 
480 void
482  LogAbsolute("Tracer") << TimeStamper(printTimestamps_) << indention_ << indention_ << " finished: source run";
483 }
484 
485 void
486 Tracer::preOpenFile(std::string const& lfn, bool b) {
487  LogAbsolute out("Tracer");
488  out << TimeStamper(printTimestamps_);
489  out << indention_ << indention_ << " starting: open input file: lfn = " << lfn;
490  if(dumpNonModuleContext_) out << " usedFallBack = " << b;
491 }
492 
493 void
494 Tracer::postOpenFile (std::string const& lfn, bool b) {
495  LogAbsolute out("Tracer");
496  out << TimeStamper(printTimestamps_);
497  out << indention_ << indention_ << " finished: open input file: lfn = " << lfn;
498  if(dumpNonModuleContext_) out << " usedFallBack = " << b;
499 }
500 
501 void
502 Tracer::preCloseFile(std::string const & lfn, bool b) {
503  LogAbsolute out("Tracer");
504  out << TimeStamper(printTimestamps_);
505  out << indention_ << indention_ << " starting: close input file: lfn = " << lfn;
506  if(dumpNonModuleContext_) out << " usedFallBack = " << b;
507 }
508 void
509 Tracer::postCloseFile (std::string const& lfn, bool b) {
510  LogAbsolute out("Tracer");
511  out << TimeStamper(printTimestamps_);
512  out << indention_ << indention_ << " finished: close input file: lfn = " << lfn;
513  if(dumpNonModuleContext_) out << " usedFallBack = " << b;
514 }
515 
516 void
518  ModuleDescription const& desc = *mcc.moduleDescription();
519  LogAbsolute out("Tracer");
520  out << TimeStamper(printTimestamps_);
521  out << indention_ << indention_ << " starting: begin stream for module: stream = " << sc.streamID() << " label = '" << desc.moduleLabel() << "' id = " << desc.id();
522  if(dumpContextForLabels_.find(desc.moduleLabel()) != dumpContextForLabels_.end()) {
523  out << "\n" << sc;
524  out << mcc;
525  }
526 }
527 
528 void
530  ModuleDescription const& desc = *mcc.moduleDescription();
531  LogAbsolute out("Tracer");
532  out << TimeStamper(printTimestamps_);
533  out << indention_ << indention_ << " finished: begin stream for module: stream = " << sc.streamID() << " label = '" << desc.moduleLabel() << "' id = " << desc.id();
534  if(dumpContextForLabels_.find(desc.moduleLabel()) != dumpContextForLabels_.end()) {
535  out << "\n" << sc;
536  out << mcc;
537  }
538 }
539 
540 void
542  ModuleDescription const& desc = *mcc.moduleDescription();
543  LogAbsolute out("Tracer");
544  out << TimeStamper(printTimestamps_);
545  out << indention_ << indention_ << " starting: end stream for module: stream = " << sc.streamID() << " label = '" << desc.moduleLabel() << "' id = " << desc.id();
546  if(dumpContextForLabels_.find(desc.moduleLabel()) != dumpContextForLabels_.end()) {
547  out << "\n" << sc;
548  out << mcc;
549  }
550 }
551 
552 void
554  ModuleDescription const& desc = *mcc.moduleDescription();
555  LogAbsolute out("Tracer");
556  out << TimeStamper(printTimestamps_);
557  out << indention_ << indention_ << " finished: end stream for module: stream = " << sc.streamID() << " label = '" << desc.moduleLabel() << "' id = " << desc.id();
558  if(dumpContextForLabels_.find(desc.moduleLabel()) != dumpContextForLabels_.end()) {
559  out << "\n" << sc;
560  out << mcc;
561  }
562 }
563 
564 void
566  LogAbsolute out("Tracer");
567  out << TimeStamper(printTimestamps_);
568  out << indention_ << indention_ << " starting: global begin run " << gc.luminosityBlockID().run()
569  << " : time = " << gc.timestamp().value();
571  out << "\n" << gc;
572  }
573 }
574 
575 void
577  LogAbsolute out("Tracer");
578  out << TimeStamper(printTimestamps_);
579  out << indention_ << indention_ << " finished: global begin run " << gc.luminosityBlockID().run()
580  << " : time = " << gc.timestamp().value();
582  out << "\n" << gc;
583  }
584 }
585 
586 void
588  LogAbsolute out("Tracer");
589  out << TimeStamper(printTimestamps_);
590  out << indention_ << indention_ << " starting: global end run " << gc.luminosityBlockID().run()
591  << " : time = " << gc.timestamp().value();
593  out << "\n" << gc;
594  }
595 }
596 
597 void
599  LogAbsolute out("Tracer");
600  out << TimeStamper(printTimestamps_);
601  out << indention_ << indention_ << " finished: global end run " << gc.luminosityBlockID().run()
602  << " : time = " << gc.timestamp().value();
604  out << "\n" << gc;
605  }
606 }
607 
608 void
610  LogAbsolute out("Tracer");
611  out << TimeStamper(printTimestamps_);
612  out << indention_ << indention_ << " starting: begin run: stream = " << sc.streamID() << " run = " << sc.eventID().run()
613  << " time = " << sc.timestamp().value();
615  out << "\n" << sc;
616  }
617 }
618 
619 void
621  LogAbsolute out("Tracer");
622  out << TimeStamper(printTimestamps_);
623  out << indention_ << indention_ << " finished: begin run: stream = " << sc.streamID() << " run = " << sc.eventID().run()
624  << " time = " << sc.timestamp().value();
626  out << "\n" << sc;
627  }
628 }
629 
630 void
632  LogAbsolute out("Tracer");
633  out << TimeStamper(printTimestamps_);
634  out << indention_ << indention_ << " starting: end run: stream = " << sc.streamID() << " run = " << sc.eventID().run()
635  << " time = " << sc.timestamp().value();
637  out << "\n" << sc;
638  }
639 }
640 
641 void
643  LogAbsolute out("Tracer");
644  out << TimeStamper(printTimestamps_);
645  out << indention_ << indention_ << " finished: end run: stream = " << sc.streamID() << " run = " << sc.eventID().run()
646  << " time = " << sc.timestamp().value();
648  out << "\n" << sc;
649  }
650 }
651 
652 void
654  LogAbsolute out("Tracer");
655  out << TimeStamper(printTimestamps_);
656  out << indention_ << indention_ << " starting: global begin lumi: run = " << gc.luminosityBlockID().run()
657  << " lumi = " << gc.luminosityBlockID().luminosityBlock() << " time = " << gc.timestamp().value();
659  out << "\n" << gc;
660  }
661 }
662 
663 void
665  LogAbsolute out("Tracer");
666  out << TimeStamper(printTimestamps_);
667  out << indention_ << indention_ << " finished: global begin lumi: run = " << gc.luminosityBlockID().run()
668  << " lumi = " << gc.luminosityBlockID().luminosityBlock() << " time = " << gc.timestamp().value();
670  out << "\n" << gc;
671  }
672 }
673 
674 void
676  LogAbsolute out("Tracer");
677  out << TimeStamper(printTimestamps_);
678  out << indention_ << indention_ << " starting: global end lumi: run = " << gc.luminosityBlockID().run()
679  << " lumi = " << gc.luminosityBlockID().luminosityBlock() << " time = " << gc.timestamp().value();
681  out << "\n" << gc;
682  }
683 }
684 
685 void
687  LogAbsolute out("Tracer");
688  out << TimeStamper(printTimestamps_);
689  out << indention_ << indention_ << " finished: global end lumi: run = " << gc.luminosityBlockID().run()
690  << " lumi = " << gc.luminosityBlockID().luminosityBlock() << " time = " << gc.timestamp().value();
692  out << "\n" << gc;
693  }
694 }
695 
696 void
698  LogAbsolute out("Tracer");
699  out << TimeStamper(printTimestamps_);
700  out << indention_ << indention_ << " starting: begin lumi: stream = " << sc.streamID() << " run = " << sc.eventID().run()
701  << " lumi = " << sc.eventID().luminosityBlock() << " time = " << sc.timestamp().value();
703  out << "\n" << sc;
704  }
705 }
706 
707 void
709  LogAbsolute out("Tracer");
710  out << TimeStamper(printTimestamps_);
711  out << indention_ << indention_ << " finished: begin lumi: stream = " << sc.streamID() << " run = " << sc.eventID().run()
712  << " lumi = " << sc.eventID().luminosityBlock() << " time = " << sc.timestamp().value();
714  out << "\n" << sc;
715  }
716 }
717 
718 void
720  LogAbsolute out("Tracer");
721  out << TimeStamper(printTimestamps_);
722  out << indention_ << indention_ << " starting: end lumi: stream = " << sc.streamID() << " run = " << sc.eventID().run()
723  << " lumi = " << sc.eventID().luminosityBlock() << " time = " << sc.timestamp().value();
725  out << "\n" << sc;
726  }
727 }
728 
729 void
731  LogAbsolute out("Tracer");
732  out << TimeStamper(printTimestamps_);
733  out << indention_ << indention_ << " finished: end lumi: stream = " << sc.streamID() << " run = " << sc.eventID().run()
734  << " lumi = " << sc.eventID().luminosityBlock() << " time = " << sc.timestamp().value();
736  out << "\n" << sc;
737  }
738 }
739 
740 void
742  LogAbsolute out("Tracer");
743  out << TimeStamper(printTimestamps_);
744  out << indention_ << indention_ << " starting: processing event : stream = " << sc.streamID() << " run = " << sc.eventID().run()
745  << " lumi = " << sc.eventID().luminosityBlock() << " event = " << sc.eventID().event() << " time = " << sc.timestamp().value();
747  out << "\n" << sc;
748  }
749 }
750 
751 void
753  LogAbsolute out("Tracer");
754  out << TimeStamper(printTimestamps_);
755  out << indention_ << indention_ << " finished: processing event : stream = " << sc.streamID() << " run = " << sc.eventID().run()
756  << " lumi = " << sc.eventID().luminosityBlock() << " event = " << sc.eventID().event() << " time = " << sc.timestamp().value();
758  out << "\n" << sc;
759  }
760 }
761 
762 void
764  LogAbsolute out("Tracer");
765  out << TimeStamper(printTimestamps_);
766  out << indention_ << indention_ << indention_ << " starting: processing path '" << pc.pathName() << "' : stream = " << sc.streamID();
768  out << "\n" << sc;
769  out << pc;
770  }
771 }
772 
773 void
775  LogAbsolute out("Tracer");
776  out << TimeStamper(printTimestamps_);
777  out << indention_ << indention_ << indention_ << " finished: processing path '" << pc.pathName() << "' : stream = " << sc.streamID();
779  out << "\n" << sc;
780  out << pc;
781  }
782 }
783 
784 void
786  LogAbsolute out("Tracer");
787  out << TimeStamper(printTimestamps_);
788  out << indention_ << indention_ << " starting: constructing module with label '" << desc.moduleLabel() << "' id = " << desc.id();
789  if(dumpContextForLabels_.find(desc.moduleLabel()) != dumpContextForLabels_.end()) {
790  out << "\n" << desc;
791  }
792 }
793 
794 void
796  LogAbsolute out("Tracer");
797  out << TimeStamper(printTimestamps_);
798  out << indention_ << indention_ << " finished: constructing module with label '" << desc.moduleLabel() << "' id = " << desc.id();
799  if(dumpContextForLabels_.find(desc.moduleLabel()) != dumpContextForLabels_.end()) {
800  out << "\n" << desc;
801  }
802 }
803 
804 void
806  LogAbsolute out("Tracer");
807  out << TimeStamper(printTimestamps_);
808  out << indention_ << indention_;
809  out << " starting: begin job for module with label '" << desc.moduleLabel() << "' id = " << desc.id();
810  if(dumpContextForLabels_.find(desc.moduleLabel()) != dumpContextForLabels_.end()) {
811  out << "\n" << desc;
812  }
813 }
814 
815 void
817  LogAbsolute out("Tracer");
818  out << TimeStamper(printTimestamps_);
819  out << indention_ << indention_;
820  out << " finished: begin job for module with label '" << desc.moduleLabel() << "' id = " << desc.id();
821  if(dumpContextForLabels_.find(desc.moduleLabel()) != dumpContextForLabels_.end()) {
822  out << "\n" << desc;
823  }
824 }
825 
826 void
828  LogAbsolute out("Tracer");
829  out << TimeStamper(printTimestamps_);
830  out << indention_ << indention_;
831  out << " starting: end job for module with label '" << desc.moduleLabel() << "' id = " << desc.id();
832  if(dumpContextForLabels_.find(desc.moduleLabel()) != dumpContextForLabels_.end()) {
833  out << "\n" << desc;
834  }
835 }
836 
837 void
839  LogAbsolute out("Tracer");
840  out << TimeStamper(printTimestamps_);
841  out << indention_ << indention_;
842  out << " finished: end job for module with label '" << desc.moduleLabel() << "' id = " << desc.id();
843  if(dumpContextForLabels_.find(desc.moduleLabel()) != dumpContextForLabels_.end()) {
844  out << "\n" << desc;
845  }
846 }
847 
848 void
850  LogAbsolute out("Tracer");
851  out << TimeStamper(printTimestamps_);
852  unsigned int nIndents = mcc.depth() + 4;
853  for(unsigned int i = 0; i < nIndents; ++i) {
854  out << indention_;
855  }
856  out << " starting: processing event for module: stream = " << sc.streamID() << " label = '" << mcc.moduleDescription()->moduleLabel() << "' id = " << mcc.moduleDescription()->id();
858  out << "\n" << sc;
859  out << mcc;
860  }
861 }
862 
863 void
865  LogAbsolute out("Tracer");
866  out << TimeStamper(printTimestamps_);
867  unsigned int nIndents = mcc.depth() + 4;
868  for(unsigned int i = 0; i < nIndents; ++i) {
869  out << indention_;
870  }
871  out << " finished: processing event for module: stream = " << sc.streamID() << " label = '" << mcc.moduleDescription()->moduleLabel() << "' id = " << mcc.moduleDescription()->id();
873  out << "\n" << sc;
874  out << mcc;
875  }
876 }
877 
878 
879 void
881  LogAbsolute out("Tracer");
882  out << TimeStamper(printTimestamps_);
883  unsigned int nIndents = mcc.depth() + 4;
884  for(unsigned int i = 0; i < nIndents; ++i) {
885  out << indention_;
886  }
887  out << " starting: delayed processing event for module: stream = " << sc.streamID() << " label = '" << mcc.moduleDescription()->moduleLabel() << "' id = " << mcc.moduleDescription()->id();
889  out << "\n" << sc;
890  out << mcc;
891  }
892 }
893 
894 void
896  LogAbsolute out("Tracer");
897  out << TimeStamper(printTimestamps_);
898  unsigned int nIndents = mcc.depth() + 4;
899  for(unsigned int i = 0; i < nIndents; ++i) {
900  out << indention_;
901  }
902  out << " finished: delayed processing event for module: stream = " << sc.streamID() << " label = '" << mcc.moduleDescription()->moduleLabel() << "' id = " << mcc.moduleDescription()->id();
904  out << "\n" << sc;
905  out << mcc;
906  }
907 }
908 
909 
910 void
912  LogAbsolute out("Tracer");
913  out << TimeStamper(printTimestamps_);
914  unsigned int nIndents = mcc.depth() + 3;
915  for(unsigned int i = 0; i < nIndents; ++i) {
916  out << indention_;
917  }
918  out << " starting: begin run for module: stream = " << sc.streamID() << " label = '" << mcc.moduleDescription()->moduleLabel() << "' id = " << mcc.moduleDescription()->id();
920  out << "\n" << sc;
921  out << mcc;
922  }
923 }
924 
925 void
927  LogAbsolute out("Tracer");
928  out << TimeStamper(printTimestamps_);
929  unsigned int nIndents = mcc.depth() + 3;
930  for(unsigned int i = 0; i < nIndents; ++i) {
931  out << indention_;
932  }
933  out << " finished: begin run for module: stream = " << sc.streamID() << " label = '" << mcc.moduleDescription()->moduleLabel() << "' id = " << mcc.moduleDescription()->id();
935  out << "\n" << sc;
936  out << mcc;
937  }
938 }
939 
940 void
942  LogAbsolute out("Tracer");
943  out << TimeStamper(printTimestamps_);
944  unsigned int nIndents = mcc.depth() + 3;
945  for(unsigned int i = 0; i < nIndents; ++i) {
946  out << indention_;
947  }
948  out << " starting: end run for module: stream = " << sc.streamID() << " label = '" << mcc.moduleDescription()->moduleLabel() << "' id = " << mcc.moduleDescription()->id();
950  out << "\n" << sc;
951  out << mcc;
952  }
953 }
954 
955 void
957  LogAbsolute out("Tracer");
958  out << TimeStamper(printTimestamps_);
959  unsigned int nIndents = mcc.depth() + 3;
960  for(unsigned int i = 0; i < nIndents; ++i) {
961  out << indention_;
962  }
963  out << " finished: end run for module: stream = " << sc.streamID() << " label = '" << mcc.moduleDescription()->moduleLabel() << "' id = " << mcc.moduleDescription()->id();
965  out << "\n" << sc;
966  out << mcc;
967  }
968 }
969 
970 void
972  LogAbsolute out("Tracer");
973  out << TimeStamper(printTimestamps_);
974  unsigned int nIndents = mcc.depth() + 3;
975  for(unsigned int i = 0; i < nIndents; ++i) {
976  out << indention_;
977  }
978  out << " starting: begin lumi for module: stream = " << sc.streamID() << " label = '" << mcc.moduleDescription()->moduleLabel() << "' id = " << mcc.moduleDescription()->id();
980  out << "\n" << sc;
981  out << mcc;
982  }
983 }
984 
985 void
987  LogAbsolute out("Tracer");
988  out << TimeStamper(printTimestamps_);
989  unsigned int nIndents = mcc.depth() + 3;
990  for(unsigned int i = 0; i < nIndents; ++i) {
991  out << indention_;
992  }
993  out << " finished: begin lumi for module: stream = " << sc.streamID() << " label = '" << mcc.moduleDescription()->moduleLabel() << "' id = " << mcc.moduleDescription()->id();
995  out << "\n" << sc;
996  out << mcc;
997  }
998 }
999 
1000 void
1002  LogAbsolute out("Tracer");
1003  out << TimeStamper(printTimestamps_);
1004  unsigned int nIndents = mcc.depth() + 3;
1005  for(unsigned int i = 0; i < nIndents; ++i) {
1006  out << indention_;
1007  }
1008  out << " starting: end lumi for module: stream = " << sc.streamID() << " label = '"<< mcc.moduleDescription()->moduleLabel() << "' id = " << mcc.moduleDescription()->id();
1010  out << "\n" << sc;
1011  out << mcc;
1012  }
1013 }
1014 
1015 void
1017  LogAbsolute out("Tracer");
1018  out << TimeStamper(printTimestamps_);
1019  unsigned int nIndents = mcc.depth() + 3;
1020  for(unsigned int i = 0; i < nIndents; ++i) {
1021  out << indention_;
1022  }
1023  out << " finished: end lumi for module: stream = " << sc.streamID() << " label = '"<< mcc.moduleDescription()->moduleLabel() << "' id = " << mcc.moduleDescription()->id();
1025  out << "\n" << sc;
1026  out << mcc;
1027  }
1028 }
1029 
1030 void
1032  LogAbsolute out("Tracer");
1033  out << TimeStamper(printTimestamps_);
1034  unsigned int nIndents = mcc.depth() + 3;
1035  for(unsigned int i = 0; i < nIndents; ++i) {
1036  out << indention_;
1037  }
1038  out << " starting: global begin run for module: label = '" << mcc.moduleDescription()->moduleLabel() << "' id = " << mcc.moduleDescription()->id();
1040  out << "\n" << gc;
1041  out << mcc;
1042  }
1043 }
1044 
1045 void
1047  LogAbsolute out("Tracer");
1048  out << TimeStamper(printTimestamps_);
1049  unsigned int nIndents = mcc.depth() + 3;
1050  for(unsigned int i = 0; i < nIndents; ++i) {
1051  out << indention_;
1052  }
1053  out << " finished: global begin run for module: label = '" << mcc.moduleDescription()->moduleLabel() << "' id = " << mcc.moduleDescription()->id();
1055  out << "\n" << gc;
1056  out << mcc;
1057  }
1058 }
1059 
1060 void
1062  LogAbsolute out("Tracer");
1063  out << TimeStamper(printTimestamps_);
1064  unsigned int nIndents = mcc.depth() + 3;
1065  for(unsigned int i = 0; i < nIndents; ++i) {
1066  out << indention_;
1067  }
1068  out << " starting: global end run for module: label = '" << mcc.moduleDescription()->moduleLabel() << "' id = " << mcc.moduleDescription()->id();
1070  out << "\n" << gc;
1071  out << mcc;
1072  }
1073 }
1074 
1075 void
1077  LogAbsolute out("Tracer");
1078  out << TimeStamper(printTimestamps_);
1079  unsigned int nIndents = mcc.depth() + 3;
1080  for(unsigned int i = 0; i < nIndents; ++i) {
1081  out << indention_;
1082  }
1083  out << " finished: global end run for module: label = '" << mcc.moduleDescription()->moduleLabel() << "' id = " << mcc.moduleDescription()->id();
1085  out << "\n" << gc;
1086  out << mcc;
1087  }
1088 }
1089 
1090 void
1092  LogAbsolute out("Tracer");
1093  out << TimeStamper(printTimestamps_);
1094  unsigned int nIndents = mcc.depth() + 3;
1095  for(unsigned int i = 0; i < nIndents; ++i) {
1096  out << indention_;
1097  }
1098  out << " starting: global begin lumi for module: label = '" << mcc.moduleDescription()->moduleLabel() << "' id = " << mcc.moduleDescription()->id();
1100  out << "\n" << gc;
1101  out << mcc;
1102  }
1103 }
1104 
1105 void
1107  LogAbsolute out("Tracer");
1108  out << TimeStamper(printTimestamps_);
1109  unsigned int nIndents = mcc.depth() + 3;
1110  for(unsigned int i = 0; i < nIndents; ++i) {
1111  out << indention_;
1112  }
1113  out << " finished: global begin lumi for module: label = '" << mcc.moduleDescription()->moduleLabel() << "' id = " << mcc.moduleDescription()->id();
1115  out << "\n" << gc;
1116  out << mcc;
1117  }
1118 }
1119 
1120 void
1122  LogAbsolute out("Tracer");
1123  out << TimeStamper(printTimestamps_);
1124  unsigned int nIndents = mcc.depth() + 3;
1125  for(unsigned int i = 0; i < nIndents; ++i) {
1126  out << indention_;
1127  }
1128  out << " starting: global end lumi for module: label = '" << mcc.moduleDescription()->moduleLabel() << "' id = " << mcc.moduleDescription()->id();
1130  out << "\n" << gc;
1131  out << mcc;
1132  }
1133 }
1134 
1135 void
1137  LogAbsolute out("Tracer");
1138  out << TimeStamper(printTimestamps_);
1139  unsigned int nIndents = mcc.depth() + 3;
1140  for(unsigned int i = 0; i < nIndents; ++i) {
1141  out << indention_;
1142  }
1143  out << " finished: global end lumi for module: label = '" << mcc.moduleDescription()->moduleLabel() << "' id = " << mcc.moduleDescription()->id();
1145  out << "\n" << gc;
1146  out << mcc;
1147  }
1148 }
1149 
1150 void
1152  LogAbsolute out("Tracer");
1153  out << TimeStamper(printTimestamps_);
1154  out << indention_;
1155  out << " starting: constructing source: " << desc.moduleName();
1156  if(dumpNonModuleContext_) {
1157  out << "\n" << desc;
1158  }
1159 }
1160 
1161 void
1163  LogAbsolute out("Tracer");
1164  out << TimeStamper(printTimestamps_);
1165  out << indention_;
1166  out << " finished: constructing source: " << desc.moduleName();
1167  if(dumpNonModuleContext_) {
1168  out << "\n" << desc;
1169  }
1170 }
1171 
1172 using edm::service::Tracer;
1174 
1175 
void preCloseFile(std::string const &lfn, bool primary)
Definition: Tracer.cc:502
RunNumber_t run() const
Definition: EventID.h:39
void watchPostModuleGlobalEndLumi(PostModuleGlobalEndLumi::slot_type const &iSlot)
void watchPostModuleConstruction(PostModuleConstruction::slot_type const &iSlot)
std::string const & pathName() const
Definition: PathContext.h:37
EventNumber_t event() const
Definition: EventID.h:41
void watchPreModuleGlobalBeginRun(PreModuleGlobalBeginRun::slot_type const &iSlot)
T getUntrackedParameter(std::string const &, T const &) const
void watchPreEvent(PreEvent::slot_type const &iSlot)
int i
Definition: DBlmapReader.cc:9
void postSourceRun()
Definition: Tracer.cc:481
std::string const & processName() const
static const TGPicture * info(bool iBackgroundIsBlack)
boost::uint64_t value() const
void watchPrePathEvent(PrePathEvent::slot_type const &iSlot)
void postModuleGlobalBeginRun(GlobalContext const &, ModuleCallingContext const &)
Definition: Tracer.cc:1046
void watchPreallocate(Preallocate::slot_type const &iSlot)
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
void postModuleGlobalBeginLumi(GlobalContext const &, ModuleCallingContext const &)
Definition: Tracer.cc:1106
void postModuleStreamEndLumi(StreamContext const &, ModuleCallingContext const &)
Definition: Tracer.cc:1016
void watchPostEndJob(PostEndJob::slot_type const &iSlot)
void preModuleGlobalBeginLumi(GlobalContext const &, ModuleCallingContext const &)
Definition: Tracer.cc:1091
void postModuleConstruction(ModuleDescription const &md)
Definition: Tracer.cc:795
void postModuleEndStream(StreamContext const &, ModuleCallingContext const &)
Definition: Tracer.cc:553
std::vector< ConsumesInfo > consumesInfo(unsigned int moduleID) const
void postModuleGlobalEndLumi(GlobalContext const &, ModuleCallingContext const &)
Definition: Tracer.cc:1136
void watchPostModuleEndStream(PostModuleEndStream::slot_type const &iSlot)
void watchPreModuleEvent(PreModuleEvent::slot_type const &iSlot)
void watchPreModuleConstruction(PreModuleConstruction::slot_type const &iSlot)
void watchPreGlobalEndLumi(PreGlobalEndLumi::slot_type const &iSlot)
void watchPostEvent(PostEvent::slot_type const &iSlot)
void preallocate(service::SystemBounds const &)
Definition: Tracer.cc:352
LuminosityBlockID const & luminosityBlockID() const
Definition: GlobalContext.h:52
void postStreamBeginLumi(StreamContext const &)
Definition: Tracer.cc:708
void watchPreStreamEndRun(PreStreamEndRun::slot_type const &iSlot)
void watchPreSourceConstruction(PreSourceConstruction::slot_type const &iSlot)
void preModuleGlobalEndLumi(GlobalContext const &, ModuleCallingContext const &)
Definition: Tracer.cc:1121
void watchPostSourceConstruction(PostSourceConstruction::slot_type const &iSlot)
void watchPostStreamEndLumi(PostStreamEndLumi::slot_type const &iSlot)
void watchPreGlobalBeginLumi(PreGlobalBeginLumi::slot_type const &iSlot)
std::vector< ModuleDescription const * > const & modulesOnEndPath(unsigned int endPathIndex) const
std::string const & moduleName() const
void watchPostPathEvent(PostPathEvent::slot_type const &iSlot)
void watchPostModuleEvent(PostModuleEvent::slot_type const &iSlot)
void preModuleStreamBeginLumi(StreamContext const &, ModuleCallingContext const &)
Definition: Tracer.cc:971
void watchPostModuleGlobalBeginLumi(PostModuleGlobalBeginLumi::slot_type const &iSlot)
void watchPostModuleStreamEndLumi(PostModuleStreamEndLumi::slot_type const &iSlot)
void preGlobalEndLumi(GlobalContext const &)
Definition: Tracer.cc:675
void preModuleEndJob(ModuleDescription const &md)
Definition: Tracer.cc:827
void watchPostGlobalBeginLumi(PostGlobalBeginLumi::slot_type const &iSlot)
void watchPostModuleStreamBeginRun(PostModuleStreamBeginRun::slot_type const &iSlot)
void watchPostSourceEvent(PostSourceEvent::slot_type const &iSlot)
void preModuleConstruction(ModuleDescription const &md)
Definition: Tracer.cc:785
std::vector< ModuleDescription const * > const & modulesOnPath(unsigned int pathIndex) const
void preBeginJob(PathsAndConsumesOfModulesBase const &, ProcessContext const &)
Definition: Tracer.cc:359
void watchPreModuleBeginStream(PreModuleBeginStream::slot_type const &iSlot)
void postStreamEndRun(StreamContext const &)
Definition: Tracer.cc:642
void postGlobalEndLumi(GlobalContext const &)
Definition: Tracer.cc:686
LuminosityBlockNumber_t luminosityBlock() const
Definition: EventID.h:40
void postModuleBeginJob(ModuleDescription const &md)
Definition: Tracer.cc:816
void watchPreStreamEndLumi(PreStreamEndLumi::slot_type const &iSlot)
void postModuleStreamEndRun(StreamContext const &, ModuleCallingContext const &)
Definition: Tracer.cc:956
std::string const & moduleLabel() const
void watchPreModuleGlobalEndRun(PreModuleGlobalEndRun::slot_type const &iSlot)
void postCloseFile(std::string const &, bool)
Definition: Tracer.cc:509
std::vector< ModuleDescription const * > const & allModules() const
Timestamp const & timestamp() const
Definition: GlobalContext.h:55
void preStreamEndLumi(StreamContext const &)
Definition: Tracer.cc:719
std::vector< std::string > const & endPaths() const
void preOpenFile(std::string const &, bool)
Definition: Tracer.cc:486
unsigned int maxNumberOfStreams() const
Definition: SystemBounds.h:43
void watchPreOpenFile(PreOpenFile::slot_type const &iSlot)
void watchPostGlobalBeginRun(PostGlobalBeginRun::slot_type const &iSlot)
void watchPostCloseFile(PostCloseFile::slot_type const &iSlot)
void watchPreGlobalEndRun(PreGlobalEndRun::slot_type const &iSlot)
void preGlobalBeginRun(GlobalContext const &)
Definition: Tracer.cc:565
PreStreamEarlyTermination preStreamEarlyTerminationSignal_
PreSourceEarlyTermination preSourceEarlyTerminationSignal_
void preSourceEvent(StreamID)
Definition: Tracer.cc:456
void preGlobalEndRun(GlobalContext const &)
Definition: Tracer.cc:587
void watchPostSourceRun(PostSourceRun::slot_type const &iSlot)
void watchPostStreamBeginLumi(PostStreamBeginLumi::slot_type const &iSlot)
void preModuleStreamEndLumi(StreamContext const &, ModuleCallingContext const &)
Definition: Tracer.cc:1001
Tracer(const ParameterSet &, ActivityRegistry &)
Definition: Tracer.cc:194
void preModuleStreamBeginRun(StreamContext const &, ModuleCallingContext const &)
Definition: Tracer.cc:911
void watchPreSourceLumi(PreSourceLumi::slot_type const &iSlot)
ModuleDescription const * moduleDescription(unsigned int moduleID) const
void prePathEvent(StreamContext const &, PathContext const &)
Definition: Tracer.cc:763
void watchPreModuleEventDelayedGet(PreModuleEventDelayedGet::slot_type const &iSlot)
def move
Definition: eostools.py:510
ModuleDescription const * moduleDescription() const
void postModuleStreamBeginLumi(StreamContext const &, ModuleCallingContext const &)
Definition: Tracer.cc:986
RunNumber_t run() const
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
Definition: Tracer.cc:340
int j
Definition: DBlmapReader.cc:9
bool dumpPathsAndConsumes_
Definition: Tracer.cc:165
void watchPreModuleEndJob(PreModuleEndJob::slot_type const &iSlot)
void watchPostGlobalEndLumi(PostGlobalEndLumi::slot_type const &iSlot)
void watchPreSourceRun(PreSourceRun::slot_type const &iSlot)
void preModuleGlobalEndRun(GlobalContext const &, ModuleCallingContext const &)
Definition: Tracer.cc:1061
void postStreamBeginRun(StreamContext const &)
Definition: Tracer.cc:620
std::ostream & operator<<(std::ostream &os, SimpleMemoryCheck::SignificantEvent const &se)
void watchPreModuleBeginJob(PreModuleBeginJob::slot_type const &iSlot)
void preStreamEndRun(StreamContext const &)
Definition: Tracer.cc:631
void watchPostStreamEndRun(PostStreamEndRun::slot_type const &iSlot)
void postOpenFile(std::string const &, bool)
Definition: Tracer.cc:494
PreGlobalEarlyTermination preGlobalEarlyTerminationSignal_
void watchPreModuleGlobalBeginLumi(PreModuleGlobalBeginLumi::slot_type const &iSlot)
void watchPostModuleStreamEndRun(PostModuleStreamEndRun::slot_type const &iSlot)
void postPathEvent(StreamContext const &, PathContext const &, HLTPathStatus const &)
Definition: Tracer.cc:774
StreamID const & streamID() const
Definition: StreamContext.h:57
void watchPreGlobalBeginRun(PreGlobalBeginRun::slot_type const &iSlot)
void watchPreModuleStreamBeginLumi(PreModuleStreamBeginLumi::slot_type const &iSlot)
#define DEFINE_FWK_SERVICE(type)
Definition: ServiceMaker.h:113
void setComment(std::string const &value)
void postModuleEventDelayedGet(StreamContext const &, ModuleCallingContext const &)
Definition: Tracer.cc:895
void watchPostModuleBeginStream(PostModuleBeginStream::slot_type const &iSlot)
unsigned int maxNumberOfConcurrentLuminosityBlocks() const
Definition: SystemBounds.h:45
void watchPostSourceLumi(PostSourceLumi::slot_type const &iSlot)
void watchPreCloseFile(PreCloseFile::slot_type const &iSlot)
void watchPostModuleEventDelayedGet(PostModuleEventDelayedGet::slot_type const &iSlot)
void watchPostModuleGlobalEndRun(PostModuleGlobalEndRun::slot_type const &iSlot)
void watchPostModuleStreamBeginLumi(PostModuleStreamBeginLumi::slot_type const &iSlot)
void preSourceLumi()
Definition: Tracer.cc:466
void postSourceEvent(StreamID)
Definition: Tracer.cc:461
std::string indention_
Definition: Tracer.cc:162
void watchPreModuleStreamEndLumi(PreModuleStreamEndLumi::slot_type const &iSlot)
void watchPreModuleStreamBeginRun(PreModuleStreamBeginRun::slot_type const &iSlot)
void watchPostGlobalEndRun(PostGlobalEndRun::slot_type const &iSlot)
double b
Definition: hdecay.h:120
LuminosityBlockNumber_t luminosityBlock() const
void watchPreStreamBeginLumi(PreStreamBeginLumi::slot_type const &iSlot)
void add(std::string const &label, ParameterSetDescription const &psetDescription)
void watchPostOpenFile(PostOpenFile::slot_type const &iSlot)
void watchPreModuleEndStream(PreModuleEndStream::slot_type const &iSlot)
std::vector< ModuleDescription const * > const & modulesWhoseProductsAreConsumedBy(unsigned int moduleID) const
void preSourceConstruction(ModuleDescription const &md)
Definition: Tracer.cc:1151
void watchPreBeginJob(PreBeginJob::slot_type const &iSlot)
convenience function for attaching to signal
void preModuleEvent(StreamContext const &, ModuleCallingContext const &)
Definition: Tracer.cc:849
void preModuleBeginStream(StreamContext const &, ModuleCallingContext const &)
Definition: Tracer.cc:517
void watchPostStreamBeginRun(PostStreamBeginRun::slot_type const &iSlot)
void postGlobalBeginRun(GlobalContext const &)
Definition: Tracer.cc:576
void postGlobalEndRun(GlobalContext const &)
Definition: Tracer.cc:598
void postGlobalBeginLumi(GlobalContext const &)
Definition: Tracer.cc:664
void watchPreStreamBeginRun(PreStreamBeginRun::slot_type const &iSlot)
std::vector< std::string > const & paths() const
void watchPreModuleStreamEndRun(PreModuleStreamEndRun::slot_type const &iSlot)
void preEvent(StreamContext const &)
Definition: Tracer.cc:741
void watchPostModuleBeginJob(PostModuleBeginJob::slot_type const &iSlot)
void watchPostModuleGlobalBeginRun(PostModuleGlobalBeginRun::slot_type const &iSlot)
unsigned int maxNumberOfConcurrentRuns() const
Definition: SystemBounds.h:44
void preStreamBeginLumi(StreamContext const &)
Definition: Tracer.cc:697
void postModuleEndJob(ModuleDescription const &md)
Definition: Tracer.cc:838
void preModuleEndStream(StreamContext const &, ModuleCallingContext const &)
Definition: Tracer.cc:541
void postModuleEvent(StreamContext const &, ModuleCallingContext const &)
Definition: Tracer.cc:864
EventID const & eventID() const
Definition: StreamContext.h:59
void preModuleEventDelayedGet(StreamContext const &, ModuleCallingContext const &)
Definition: Tracer.cc:880
void watchPreSourceEvent(PreSourceEvent::slot_type const &iSlot)
void postModuleBeginStream(StreamContext const &, ModuleCallingContext const &)
Definition: Tracer.cc:529
bool dumpNonModuleContext_
Definition: Tracer.cc:164
Definition: vlib.h:208
void preModuleBeginJob(ModuleDescription const &md)
Definition: Tracer.cc:805
void postStreamEndLumi(StreamContext const &)
Definition: Tracer.cc:730
void preModuleStreamEndRun(StreamContext const &, ModuleCallingContext const &)
Definition: Tracer.cc:941
void postEvent(StreamContext const &)
Definition: Tracer.cc:752
void preStreamBeginRun(StreamContext const &)
Definition: Tracer.cc:609
TimeValue_t value() const
Definition: Timestamp.h:56
void watchPostModuleEndJob(PostModuleEndJob::slot_type const &iSlot)
void connect(U iFunc)
Definition: Signal.h:63
void postModuleStreamBeginRun(StreamContext const &, ModuleCallingContext const &)
Definition: Tracer.cc:926
void postSourceLumi()
Definition: Tracer.cc:471
void preGlobalBeginLumi(GlobalContext const &)
Definition: Tracer.cc:653
void watchPreModuleGlobalEndLumi(PreModuleGlobalEndLumi::slot_type const &iSlot)
void postModuleGlobalEndRun(GlobalContext const &, ModuleCallingContext const &)
Definition: Tracer.cc:1076
unsigned int id() const
void postSourceConstruction(ModuleDescription const &md)
Definition: Tracer.cc:1162
std::set< std::string > dumpContextForLabels_
Definition: Tracer.cc:163
void preModuleGlobalBeginRun(GlobalContext const &, ModuleCallingContext const &)
Definition: Tracer.cc:1031
void watchPostBeginJob(PostBeginJob::slot_type const &iSlot)
convenience function for attaching to signal
Timestamp const & timestamp() const
Definition: StreamContext.h:62