311 auto beginTracer =
now();
314 if (iFileName.empty()) {
318 auto logFile = std::make_shared<edm::ThreadSafeOutputFileStream>(iFileName);
320 auto beginTime = TimingServiceBase::jobStartTime();
322 auto esModuleLabelsPtr = std::make_shared<std::vector<std::string>>();
323 auto& esModuleLabels = *esModuleLabelsPtr;
326 if (esModuleLabels.size() <= iDescription.id_ + 1) {
327 esModuleLabels.resize(iDescription.id_ + 2);
330 if (not iDescription.label_.empty()) {
331 esModuleLabels[iDescription.id_ + 1] = iDescription.label_;
333 esModuleLabels[iDescription.id_ + 1] = iDescription.type_;
336 auto moduleCtrDtrPtr = std::make_shared<std::vector<ModuleCtrDtr>>();
337 auto& moduleCtrDtr = *moduleCtrDtrPtr;
338 auto moduleLabelsPtr = std::make_shared<std::vector<std::string>>();
339 auto& moduleLabels = *moduleLabelsPtr;
341 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
343 auto const mid = md.
id();
344 if (mid < moduleLabels.size()) {
346 moduleCtrDtr[mid].beginConstruction =
t;
348 moduleLabels.resize(mid + 1);
350 moduleCtrDtr.resize(mid + 1);
351 moduleCtrDtr.back().beginConstruction =
t;
355 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
356 moduleCtrDtr[md.
id()].endConstruction =
t;
360 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
361 moduleCtrDtr[md.
id()].beginDestruction =
t;
364 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
365 moduleCtrDtr[md.
id()].endDestruction =
t;
368 auto sourceCtrPtr = std::make_shared<ModuleCtrDtr>();
369 auto& sourceCtr = *sourceCtrPtr;
371 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
372 sourceCtr.beginConstruction =
t;
375 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
376 sourceCtr.endConstruction =
t;
379 auto recordIndices = std::make_shared<std::vector<std::type_index>>();
381 [
logFile, recordIndices](
auto const& recordsToResolvers,
auto const&)
mutable {
382 std::ostringstream oss;
384 auto recordKeys = recordsToResolvers.recordKeys();
385 std::sort(recordKeys.begin(), recordKeys.end());
386 std::vector<std::string> recordNames;
388 recordNames.reserve(recordKeys.size() + 1);
389 recordNames.emplace_back(
"");
390 recordIndices->reserve(recordKeys.size() + 1);
391 recordIndices->push_back(std::type_index(
typeid(
void)));
392 for (
auto const&
r : recordKeys) {
393 recordNames.push_back(
r.name());
394 recordIndices->push_back(std::type_index(
r.type().value()));
407 beginTracer](
auto&,
auto&)
mutable {
409 std::ostringstream oss;
410 moduleIdToLabel(oss, *moduleLabelsPtr,
'M',
"EDModule ID",
"Module label");
412 moduleLabelsPtr.reset();
415 std::ostringstream oss;
416 moduleIdToLabel(oss, *esModuleLabelsPtr,
'N',
"ESModule ID",
"ESModule label");
418 esModuleLabelsPtr.reset();
421 auto const tracerStart = duration_cast<duration_t>(beginTracer - beginTime).
count();
422 auto msg = assembleMessage<Step::preFrameworkTransition>(
423 static_cast<std::underlying_type_t<Phase>
>(Phase::startTracing), 0, 0, 0, 0, tracerStart);
428 auto srcBeginConstruction = sourceCtrPtr->beginConstruction;
429 auto srcEndConstruction = sourceCtrPtr->endConstruction;
430 sourceCtrPtr.reset();
431 auto handleSource = [&srcBeginConstruction, &srcEndConstruction, &
logFile](
long long iTime)
mutable {
432 if (srcBeginConstruction != 0 and srcBeginConstruction < iTime) {
433 auto bmsg = assembleMessage<Step::preSourceTransition>(
434 static_cast<std::underlying_type_t<Phase>
>(Phase::construction), 0, srcBeginConstruction);
436 srcBeginConstruction = 0;
438 if (srcEndConstruction != 0 and srcEndConstruction < iTime) {
439 auto bmsg = assembleMessage<Step::postSourceTransition>(
440 static_cast<std::underlying_type_t<Phase>
>(Phase::construction), 0, srcEndConstruction);
442 srcEndConstruction = 0;
446 std::sort(moduleCtrDtrPtr->begin(), moduleCtrDtrPtr->end(), [](
auto const&
l,
auto const&
r) {
447 return l.beginConstruction <
r.beginConstruction;
450 for (
auto const&
ctr : *moduleCtrDtrPtr) {
451 if (
ctr.beginConstruction != 0) {
452 handleSource(
ctr.beginConstruction);
453 auto bmsg = assembleMessage<Step::preModuleTransition>(
454 static_cast<std::underlying_type_t<Phase>
>(Phase::construction), 0,
id, 0, 0, 0,
ctr.beginConstruction);
456 handleSource(
ctr.endConstruction);
457 auto emsg = assembleMessage<Step::postModuleTransition>(
458 static_cast<std::underlying_type_t<Phase>
>(Phase::construction), 0,
id, 0, 0, 0,
ctr.endConstruction);
464 std::sort(moduleCtrDtrPtr->begin(), moduleCtrDtrPtr->end(), [](
auto const&
l,
auto const&
r) {
465 return l.beginDestruction <
r.beginDestruction;
467 for (
auto const& dtr : *moduleCtrDtrPtr) {
468 if (dtr.beginDestruction != 0) {
469 handleSource(dtr.beginDestruction);
470 auto bmsg = assembleMessage<Step::preModuleTransition>(
471 static_cast<std::underlying_type_t<Phase>
>(Phase::destruction), 0,
id, 0, 0, 0, dtr.beginDestruction);
473 handleSource(dtr.endDestruction);
474 auto emsg = assembleMessage<Step::postModuleTransition>(
475 static_cast<std::underlying_type_t<Phase>
>(Phase::destruction), 0,
id, 0, 0, 0, dtr.endDestruction);
480 moduleCtrDtrPtr.reset();
482 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
484 auto msg = assembleMessage<Step::preFrameworkTransition>(
485 static_cast<std::underlying_type_t<Phase>
>(
Phase::beginJob), 0, 0, 0, 0,
t);
489 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
490 auto msg = assembleMessage<Step::postFrameworkTransition>(
491 static_cast<std::underlying_type_t<Phase>
>(
Phase::beginJob), 0, 0, 0, 0,
t);
496 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
497 auto msg = assembleMessage<Step::preFrameworkTransition>(
498 static_cast<std::underlying_type_t<Phase>
>(Phase::endJob), 0, 0, 0, 0,
t);
502 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
503 auto msg = assembleMessage<Step::postFrameworkTransition>(
504 static_cast<std::underlying_type_t<Phase>
>(Phase::endJob), 0, 0, 0, 0,
t);
509 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
510 auto msg = assembleMessage<Step::preFrameworkTransition>(
static_cast<std::underlying_type_t<Phase>
>(Phase::Event),
513 sc.eventID().luminosityBlock(),
514 sc.eventID().event(),
519 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
521 assembleMessage<Step::postFrameworkTransition>(
static_cast<std::underlying_type_t<Phase>
>(Phase::Event),
524 sc.eventID().luminosityBlock(),
525 sc.eventID().event(),
531 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
533 assembleMessage<Step::preFrameworkTransition>(
static_cast<std::underlying_type_t<Phase>
>(Phase::clearEvent),
536 sc.eventID().luminosityBlock(),
537 sc.eventID().event(),
542 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
544 assembleMessage<Step::postFrameworkTransition>(
static_cast<std::underlying_type_t<Phase>
>(Phase::clearEvent),
547 sc.eventID().luminosityBlock(),
548 sc.eventID().event(),
555 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
556 auto msg = assembleMessage<Step::preFrameworkTransition>(toTransition(gc),
557 toTransitionIndex(gc),
558 gc.luminosityBlockID().run(),
559 gc.luminosityBlockID().luminosityBlock(),
577 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
578 auto msg = assembleMessage<Step::postFrameworkTransition>(toTransition(gc),
579 toTransitionIndex(gc),
580 gc.luminosityBlockID().run(),
581 gc.luminosityBlockID().luminosityBlock(),
599 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
600 auto msg = assembleMessage<Step::preFrameworkTransition>(
601 toTransition(sc),
stream_id(sc), sc.eventID().run(), sc.eventID().luminosityBlock(), 0,
t);
611 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
612 auto msg = assembleMessage<Step::postFrameworkTransition>(
613 toTransition(sc),
stream_id(sc), sc.eventID().run(), sc.eventID().luminosityBlock(), 0,
t);
623 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
624 auto msg = assembleMessage<Step::preFrameworkTransition>(
625 static_cast<std::underlying_type_t<Phase>
>(Phase::esSyncEnqueue),
628 sv.eventID().luminosityBlock(),
634 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
636 assembleMessage<Step::preFrameworkTransition>(
static_cast<std::underlying_type_t<Phase>
>(Phase::esSync),
639 sv.eventID().luminosityBlock(),
645 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
647 assembleMessage<Step::postFrameworkTransition>(
static_cast<std::underlying_type_t<Phase>
>(Phase::esSync),
650 sv.eventID().luminosityBlock(),
658 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
659 auto msg = assembleMessage<Step::preSourceTransition>(
660 static_cast<std::underlying_type_t<Phase>
>(Phase::openFile), 0,
t);
664 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
665 auto msg = assembleMessage<Step::postSourceTransition>(
666 static_cast<std::underlying_type_t<Phase>
>(Phase::openFile), 0,
t);
670 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
671 auto msg = assembleMessage<Step::preSourceTransition>(
672 static_cast<std::underlying_type_t<Phase>
>(Phase::Event),
id.
value(),
t);
676 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
677 auto msg = assembleMessage<Step::postSourceTransition>(
678 static_cast<std::underlying_type_t<Phase>
>(Phase::Event),
id.
value(),
t);
683 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
684 auto msg = assembleMessage<Step::preSourceTransition>(
685 static_cast<std::underlying_type_t<Phase>
>(Phase::globalBeginRun),
id.
value(),
t);
689 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
690 auto msg = assembleMessage<Step::postSourceTransition>(
691 static_cast<std::underlying_type_t<Phase>
>(Phase::globalBeginRun),
id.
value(),
t);
696 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
697 auto msg = assembleMessage<Step::preSourceTransition>(
698 static_cast<std::underlying_type_t<Phase>
>(Phase::globalBeginLumi),
id.
value(),
t);
702 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
703 auto msg = assembleMessage<Step::postSourceTransition>(
704 static_cast<std::underlying_type_t<Phase>
>(Phase::globalBeginLumi),
id.
value(),
t);
709 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
710 auto msg = assembleMessage<Step::preSourceTransition>(
711 static_cast<std::underlying_type_t<Phase>
>(Phase::getNextTransition),
t);
715 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
716 auto msg = assembleMessage<Step::postSourceTransition>(
717 static_cast<std::underlying_type_t<Phase>
>(Phase::getNextTransition),
t);
723 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
724 auto msg = assembleMessage<Step::preModuleTransition>(
729 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
730 auto msg = assembleMessage<Step::postModuleTransition>(
742 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
743 auto msg = assembleMessage<Step::preModuleTransition>(
744 static_cast<std::underlying_type_t<Phase>
>(Phase::endJob), 0, md.
id(), 0, 0, 0,
t);
748 auto const t = duration_cast<duration_t>(
now() - beginTime).
count();
749 auto msg = assembleMessage<Step::postModuleTransition>(
750 static_cast<std::underlying_type_t<Phase>
>(Phase::endJob), 0, md.
id(), 0, 0, 0,
t);
763 StreamEDModuleState<Step::postModuleEventDelayedGet>(
logFile, beginTime));
771 StreamEDModuleState<Step::postModulePrefetching>(
logFile, beginTime));
774 StreamEDModuleState<Step::postModuleEventAcquire>(
logFile, beginTime));
792 GlobalEDModuleState<Step::preModuleTransition>(
logFile, beginTime));
794 GlobalEDModuleState<Step::postModuleTransition>(
logFile, beginTime));
822 ESModuleState<Step::preESModulePrefetching>(
logFile, beginTime, recordIndices));
824 ESModuleState<Step::postESModulePrefetching>(
logFile, beginTime, recordIndices));
831 std::ostringstream oss;
832 oss <<
"# Transition Symbol\n";
833 oss <<
"#------------------------ ------\n";
834 oss <<
"# startTracing " << Phase::startTracing <<
"\n" 835 <<
"# construction " << Phase::construction <<
"\n" 836 <<
"# getNextTransition " << Phase::getNextTransition <<
"\n" 837 <<
"# esSyncEnqueue " << Phase::esSyncEnqueue <<
"\n" 838 <<
"# esSync " << Phase::esSync <<
"\n" 840 <<
"# beginStream " << Phase::beginStream <<
"\n" 841 <<
"# openFile " << Phase::openFile <<
"\n" 842 <<
"# beginProcessBlock " << Phase::beginProcessBlock <<
"\n" 843 <<
"# accessInputProcessBlock " << Phase::accessInputProcessBlock <<
"\n" 844 <<
"# globalBeginRun " << Phase::globalBeginRun <<
"\n" 845 <<
"# streamBeginRun " << Phase::streamBeginRun <<
"\n" 846 <<
"# globalBeginLumi " << Phase::globalBeginLumi <<
"\n" 847 <<
"# streamBeginLumi " << Phase::streamBeginLumi <<
"\n" 848 <<
"# Event " << Phase::Event <<
"\n" 849 <<
"# clearEvent " << Phase::clearEvent <<
"\n" 850 <<
"# streamEndLumi " << Phase::streamEndLumi <<
"\n" 851 <<
"# globalEndLumi " << Phase::globalEndLumi <<
"\n" 852 <<
"# globalWriteLumi " << Phase::globalWriteLumi <<
"\n" 853 <<
"# streamEndRun " << Phase::streamEndRun <<
"\n" 854 <<
"# globalEndRun " << Phase::globalEndRun <<
"\n" 855 <<
"# globalWriteRun " << Phase::globalWriteRun <<
"\n" 856 <<
"# endProcessBlock " << Phase::endProcessBlock <<
"\n" 857 <<
"# writeProcessBlock " << Phase::writeProcessBlock <<
"\n" 858 <<
"# endStream " << Phase::endStream <<
"\n" 859 <<
"# endJob " << Phase::endJob <<
"\n" 860 <<
"# destruction " << Phase::destruction <<
"\n\n";
861 oss <<
"# Step Symbol Entries\n" 862 <<
"# -------------------------- ------ ------------------------------------------\n" 863 <<
"# preSourceTransition " << Step::preSourceTransition
864 <<
" <Transition type> <Transition ID> <Time since begin of cmsRun (us)>\n" 865 <<
"# postSourceTransition " << Step::postSourceTransition
866 <<
" <Transition type> <Transition ID> <Time since begin of cmsRun (us)>\n" 867 <<
"# preModulePrefetching " << Step::preModulePrefetching
868 <<
" <Transition type> <Transition ID> <EDModule ID> <Call ID> <Requesting EDModule ID or 0> <Requesting " 869 "Call ID> <Time since begin of " 872 <<
"# postModulePrefetching " << Step::postModulePrefetching
873 <<
" <Transition type> <Transition ID> <EDModule ID> <Call ID> <Requesting EDModule ID or 0> <Requesting " 874 "Call ID> <Time since begin of " 877 <<
"# preModuleEventAcquire " << Step::preModuleEventAcquire
878 <<
" <Transition type> <Transition ID> <EDModule ID> <Call ID> <Requesting EDModule ID or 0> <Requesting " 879 "Call ID> <Time since begin of " 882 <<
"# postModuleEventAcquire " << Step::postModuleEventAcquire
883 <<
" <Transition type> <Transition ID> <EDModule ID> <Call ID> <Requesting EDModule ID or 0> <Requesting " 884 "Call ID> <Time since begin of " 887 <<
"# preModuleTransition " << Step::preModuleTransition
888 <<
" <Transition type> <Transition ID> <EDModule ID> <Call ID> <Requesting EDModule ID or 0> <Requesting " 889 "Call ID> <Time since begin of " 892 <<
"# preEventReadFromSource " << Step::preEventReadFromSource
893 <<
" <Transition type> <Transition ID> <EDModule ID> <Call ID> <Requesting EDModule ID or 0> <Requesting " 894 "Call ID> <Time since begin of " 897 <<
"# postEventReadFromSource " << Step::postEventReadFromSource
898 <<
" <Transition type> <Transition ID> <EDModule ID> <Call ID> <Requesting EDModule ID or 0> <Requesting " 899 "Call ID> <Time since begin of " 902 <<
"# postModuleTransition " << Step::postModuleTransition
903 <<
" <Transition type> <Transition ID> <EDModule ID> <Call ID> <Requesting EDModule ID> <Requesting Call ID> " 904 "<Time since begin of cmsRun " 906 <<
"# preESModulePrefetching " << Step::preESModulePrefetching
907 <<
" <Transition type> <Transition ID> <ESModule ID> <Record ID> <Call ID> <Requesting module ID (+ED, -ES)> " 908 "<Requesting Call ID> " 910 "since of cmsRun (us)>\n" 911 <<
"# postESModulePrefetching " << Step::postESModulePrefetching
912 <<
" <Transition type> <Transition ID> <ESModule ID> <Record ID> <Call ID> <Requesting module ID (+ED, -ES)> " 913 "<Requesting Call ID> " 915 "since of cmsRun (us)>\n" 916 <<
"# preESModuleTransition " << Step::preESModule
917 <<
" <TransitionType> <Transition ID> <ESModule ID> <Record ID> <Call ID> <Requesting module ID (+ED, -ES)> " 918 "<Requesting Call ID> " 920 "since of cmsRun (us)>\n" 921 <<
"# postESModuleTransition " << Step::postESModule
922 <<
" <TransitionType> <Transition ID> <ESModule ID> <Record ID> <Call ID> <Requesting module ID (+ED, -ES)> " 923 "<Requesting Call ID> " 925 "since of cmsRun (us)>\n" 926 <<
"# preFrameworkTransition " << Step::preFrameworkTransition
927 <<
" <Transition type> <Transition ID> <Run#> <LumiBlock#> <Event #> <Time since begin of cmsRun (ms)>\n" 928 <<
"# postFrameworkTransition " << Step::postFrameworkTransition
929 <<
" <Transition type> <Transition ID> <Run#> <LumiBlock#> <Event #> <Time since begin of cmsRun (ms)>\n";
void watchPostModuleGlobalEndLumi(PostModuleGlobalEndLumi::slot_type const &iSlot)
void watchPostModuleConstruction(PostModuleConstruction::slot_type const &iSlot)
void watchPreModuleGlobalBeginRun(PreModuleGlobalBeginRun::slot_type const &iSlot)
void watchPreEvent(PreEvent::slot_type const &iSlot)
void watchPostESModuleRegistration(PostESModuleRegistration::slot_type const &iSlot)
void watchPreModuleStreamPrefetching(PreModuleStreamPrefetching::slot_type const &iSlot)
void watchPreAccessInputProcessBlock(PreAccessInputProcessBlock::slot_type const &iSlot)
void watchPostModuleEndProcessBlock(PostModuleEndProcessBlock::slot_type const &iSlot)
void watchPostModuleTransformAcquiring(PostModuleTransformAcquiring::slot_type const &iSlot)
void watchPreESModule(PreESModule::slot_type const &iSlot)
void watchPreModuleEventAcquire(PreModuleEventAcquire::slot_type const &iSlot)
void watchPostEndJob(PostEndJob::slot_type const &iSlot)
void watchPostModuleEndStream(PostModuleEndStream::slot_type const &iSlot)
void watchPreModuleEvent(PreModuleEvent::slot_type const &iSlot)
void watchPreModuleConstruction(PreModuleConstruction::slot_type const &iSlot)
void watchPreModuleEndProcessBlock(PreModuleEndProcessBlock::slot_type const &iSlot)
void watchPreGlobalEndLumi(PreGlobalEndLumi::slot_type const &iSlot)
void watchPostESModuleAcquire(PostESModuleAcquire::slot_type const &iSlot)
void watchPostEvent(PostEvent::slot_type const &iSlot)
void watchPreStreamEndRun(PreStreamEndRun::slot_type const &iSlot)
void watchPreSourceConstruction(PreSourceConstruction::slot_type const &iSlot)
void watchPostSourceConstruction(PostSourceConstruction::slot_type const &iSlot)
void watchPostModuleGlobalPrefetching(PostModuleGlobalPrefetching::slot_type const &iSlot)
void watchPostStreamEndLumi(PostStreamEndLumi::slot_type const &iSlot)
void watchPreGlobalBeginLumi(PreGlobalBeginLumi::slot_type const &iSlot)
void watchPostSourceNextTransition(PostSourceNextTransition::slot_type const &iSlot)
void watchPostEndProcessBlock(PostEndProcessBlock::slot_type const &iSlot)
void watchPreEventReadFromSource(PreEventReadFromSource::slot_type const &iSlot)
void watchPreModuleDestruction(PreModuleDestruction::slot_type const &iSlot)
void watchPostESModulePrefetching(PostESModulePrefetching::slot_type const &iSlot)
void watchPostModuleEvent(PostModuleEvent::slot_type const &iSlot)
void watchPostModuleGlobalBeginLumi(PostModuleGlobalBeginLumi::slot_type const &iSlot)
void watchPostModuleStreamEndLumi(PostModuleStreamEndLumi::slot_type const &iSlot)
void watchPostGlobalBeginLumi(PostGlobalBeginLumi::slot_type const &iSlot)
void watchPostModuleStreamBeginRun(PostModuleStreamBeginRun::slot_type const &iSlot)
void watchPostSourceEvent(PostSourceEvent::slot_type const &iSlot)
void watchPreModuleAccessInputProcessBlock(PreModuleAccessInputProcessBlock::slot_type const &iSlot)
void watchPostModuleTransformPrefetching(PostModuleTransformPrefetching::slot_type const &iSlot)
void watchPreBeginProcessBlock(PreBeginProcessBlock::slot_type const &iSlot)
void watchPreEndProcessBlock(PreEndProcessBlock::slot_type const &iSlot)
void watchPostModuleTransform(PostModuleTransform::slot_type const &iSlot)
void watchPreModuleBeginStream(PreModuleBeginStream::slot_type const &iSlot)
void watchPostESModule(PostESModule::slot_type const &iSlot)
void watchPreESSyncIOV(PreESSyncIOV::slot_type const &iSlot)
void watchPreStreamEndLumi(PreStreamEndLumi::slot_type const &iSlot)
void watchPreModuleGlobalEndRun(PreModuleGlobalEndRun::slot_type const &iSlot)
void watchPreModuleEventPrefetching(PreModuleEventPrefetching::slot_type const &iSlot)
void watchPostModuleWriteRun(PostModuleWriteRun::slot_type const &iSlot)
void watchPostModuleWriteProcessBlock(PostModuleWriteProcessBlock::slot_type const &iSlot)
void watchPostModuleWriteLumi(PostModuleWriteLumi::slot_type const &iSlot)
void watchPostModuleEventPrefetching(PostModuleEventPrefetching::slot_type const &iSlot)
void watchPreOpenFile(PreOpenFile::slot_type const &iSlot)
void watchPostGlobalBeginRun(PostGlobalBeginRun::slot_type const &iSlot)
void watchPreGlobalEndRun(PreGlobalEndRun::slot_type const &iSlot)
void watchPostBeginProcessBlock(PostBeginProcessBlock::slot_type const &iSlot)
void watchEventSetupConfiguration(EventSetupConfiguration::slot_type const &iSlot)
void watchPostSourceRun(PostSourceRun::slot_type const &iSlot)
void watchPostStreamBeginLumi(PostStreamBeginLumi::slot_type const &iSlot)
void watchPreSourceLumi(PreSourceLumi::slot_type const &iSlot)
void watchPreModuleEventDelayedGet(PreModuleEventDelayedGet::slot_type const &iSlot)
void watchPreModuleBeginProcessBlock(PreModuleBeginProcessBlock::slot_type const &iSlot)
void watchPostModuleEventAcquire(PostModuleEventAcquire::slot_type const &iSlot)
void watchPreModuleEndJob(PreModuleEndJob::slot_type const &iSlot)
void watchPostGlobalEndLumi(PostGlobalEndLumi::slot_type const &iSlot)
void watchPreSourceNextTransition(PreSourceNextTransition::slot_type const &iSlot)
void watchPreWriteProcessBlock(PreWriteProcessBlock::slot_type const &iSlot)
void watchPreSourceRun(PreSourceRun::slot_type const &iSlot)
void watchPreModuleBeginJob(PreModuleBeginJob::slot_type const &iSlot)
void watchPreModuleTransformAcquiring(PreModuleTransformAcquiring::slot_type const &iSlot)
void watchPostStreamEndRun(PostStreamEndRun::slot_type const &iSlot)
void watchPreModuleGlobalBeginLumi(PreModuleGlobalBeginLumi::slot_type const &iSlot)
void watchPostModuleStreamEndRun(PostModuleStreamEndRun::slot_type const &iSlot)
void watchPostModuleBeginProcessBlock(PostModuleBeginProcessBlock::slot_type const &iSlot)
void watchPreGlobalBeginRun(PreGlobalBeginRun::slot_type const &iSlot)
void watchPreModuleStreamBeginLumi(PreModuleStreamBeginLumi::slot_type const &iSlot)
void watchPreGlobalWriteLumi(PreGlobalWriteLumi::slot_type const &iSlot)
void watchPreModuleTransformPrefetching(PreModuleTransformPrefetching::slot_type const &iSlot)
void moduleIdToLabel(std::ostream &oStream, std::vector< std::string > const &iModuleLabels, char moduleIdSymbol, std::string const &iIDHeader, std::string const &iLabelHeader)
void watchPostModuleBeginStream(PostModuleBeginStream::slot_type const &iSlot)
void watchPreModuleTransform(PreModuleTransform::slot_type const &iSlot)
void watchPostAccessInputProcessBlock(PostAccessInputProcessBlock::slot_type const &iSlot)
void watchPostSourceLumi(PostSourceLumi::slot_type const &iSlot)
void watchPostModuleEventDelayedGet(PostModuleEventDelayedGet::slot_type const &iSlot)
void watchPostModuleGlobalEndRun(PostModuleGlobalEndRun::slot_type const &iSlot)
void watchPostGlobalWriteRun(PostGlobalWriteRun::slot_type const &iSlot)
void watchPostModuleStreamBeginLumi(PostModuleStreamBeginLumi::slot_type const &iSlot)
void watchESSyncIOVQueuing(ESSyncIOVQueuing::slot_type const &iSlot)
void watchPreModuleStreamEndLumi(PreModuleStreamEndLumi::slot_type const &iSlot)
void watchPreModuleStreamBeginRun(PreModuleStreamBeginRun::slot_type const &iSlot)
void watchPostClearEvent(PostClearEvent::slot_type const &iSlot)
void watchPostGlobalEndRun(PostGlobalEndRun::slot_type const &iSlot)
void watchPreStreamBeginLumi(PreStreamBeginLumi::slot_type const &iSlot)
void watchPostOpenFile(PostOpenFile::slot_type const &iSlot)
void watchPreModuleEndStream(PreModuleEndStream::slot_type const &iSlot)
void watchPreBeginJob(PreBeginJob::slot_type const &iSlot)
convenience function for attaching to signal
void watchPreModuleWriteRun(PreModuleWriteRun::slot_type const &iSlot)
void watchPreEndJob(PreEndJob::slot_type const &iSlot)
void watchPostStreamBeginRun(PostStreamBeginRun::slot_type const &iSlot)
void watchPreClearEvent(PreClearEvent::slot_type const &iSlot)
void watchPostGlobalWriteLumi(PostGlobalEndLumi::slot_type const &iSlot)
void watchPreStreamBeginRun(PreStreamBeginRun::slot_type const &iSlot)
void watchPostModuleAccessInputProcessBlock(PostModuleAccessInputProcessBlock::slot_type const &iSlot)
void watchPostModuleDestruction(PostModuleDestruction::slot_type const &iSlot)
void watchPreModuleStreamEndRun(PreModuleStreamEndRun::slot_type const &iSlot)
void watchPreModuleWriteProcessBlock(PreModuleWriteProcessBlock::slot_type const &iSlot)
void watchPostModuleBeginJob(PostModuleBeginJob::slot_type const &iSlot)
void watchPostEventReadFromSource(PostEventReadFromSource::slot_type const &iSlot)
void watchPostModuleGlobalBeginRun(PostModuleGlobalBeginRun::slot_type const &iSlot)
void watchPreModuleWriteLumi(PreModuleWriteLumi::slot_type const &iSlot)
void watchPreSourceEvent(PreSourceEvent::slot_type const &iSlot)
void watchPreESModulePrefetching(PreESModulePrefetching::slot_type const &iSlot)
void watchPostModuleStreamPrefetching(PostModuleStreamPrefetching::slot_type const &iSlot)
std::string const & moduleLabel() const
auto stream_id(edm::StreamContext const &cs)
void watchPreGlobalWriteRun(PreGlobalWriteRun::slot_type const &iSlot)
void watchPostModuleEndJob(PostModuleEndJob::slot_type const &iSlot)
void watchPreModuleGlobalPrefetching(PreModuleGlobalPrefetching::slot_type const &iSlot)
void watchPreModuleGlobalEndLumi(PreModuleGlobalEndLumi::slot_type const &iSlot)
void watchPreESModuleAcquire(PreESModuleAcquire::slot_type const &iSlot)
void watchPostBeginJob(PostBeginJob::slot_type const &iSlot)
convenience function for attaching to signal
void watchPostESSyncIOV(PostESSyncIOV::slot_type const &iSlot)
void watchPostWriteProcessBlock(PostWriteProcessBlock::slot_type const &iSlot)