CMS 3D CMS Logo

List of all members | Classes | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes
FastTimerService Class Reference

#include <FastTimerService.h>

Inheritance diagram for FastTimerService:

Classes

struct  AtomicResources
 
struct  GroupOfModules
 
struct  Measurement
 
struct  PlotRanges
 
class  PlotsPerElement
 
class  PlotsPerJob
 
class  PlotsPerPath
 
class  PlotsPerProcess
 
struct  Resources
 
struct  ResourcesPerJob
 
struct  ResourcesPerModule
 
struct  ResourcesPerPath
 
struct  ResourcesPerProcess
 

Public Member Functions

 FastTimerService (const edm::ParameterSet &, edm::ActivityRegistry &)
 
 ~FastTimerService () override=default
 

Static Public Member Functions

static void fillDescriptions (edm::ConfigurationDescriptions &descriptions)
 

Private Member Functions

json encodeToJSON (edm::ModuleDescription const &module, ResourcesPerModule const &data) const
 
template<typename T >
json encodeToJSON (std::string const &type, std::string const &label, unsigned int events, T const &data) const
 
template<typename T >
json encodeToJSON (std::string const &type, std::string const &label, unsigned int events, T const &data) const
 
void ignoredSignal (const std::string &signal) const
 
bool isFirstSubprocess (edm::GlobalContext const &)
 
bool isFirstSubprocess (edm::StreamContext const &)
 
bool isLastSubprocess (std::atomic< unsigned int > &check)
 
void on_scheduler_entry (bool worker) final
 
void on_scheduler_exit (bool worker) final
 
void postBeginJob ()
 
void postEndJob ()
 
void postEvent (edm::StreamContext const &)
 
void postEventReadFromSource (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void postGlobalBeginLumi (edm::GlobalContext const &)
 
void postGlobalBeginRun (edm::GlobalContext const &)
 
void postGlobalEndLumi (edm::GlobalContext const &)
 
void postGlobalEndRun (edm::GlobalContext const &)
 
void postModuleEvent (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void postModuleEventAcquire (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void postModuleEventDelayedGet (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void postModuleEventPrefetching (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void postModuleGlobalBeginLumi (edm::GlobalContext const &, edm::ModuleCallingContext const &)
 
void postModuleGlobalBeginRun (edm::GlobalContext const &, edm::ModuleCallingContext const &)
 
void postModuleGlobalEndLumi (edm::GlobalContext const &, edm::ModuleCallingContext const &)
 
void postModuleGlobalEndRun (edm::GlobalContext const &, edm::ModuleCallingContext const &)
 
void postModuleStreamBeginLumi (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void postModuleStreamBeginRun (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void postModuleStreamEndLumi (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void postModuleStreamEndRun (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void postPathEvent (edm::StreamContext const &, edm::PathContext const &, edm::HLTPathStatus const &)
 
void postSourceEvent (edm::StreamID)
 
void postSourceLumi (edm::LuminosityBlockIndex)
 
void postSourceRun (edm::RunIndex)
 
void postStreamBeginLumi (edm::StreamContext const &)
 
void postStreamBeginRun (edm::StreamContext const &)
 
void postStreamEndLumi (edm::StreamContext const &)
 
void postStreamEndRun (edm::StreamContext const &)
 
void preallocate (edm::service::SystemBounds const &)
 
void preBeginJob (edm::PathsAndConsumesOfModulesBase const &, edm::ProcessContext const &)
 
void preEvent (edm::StreamContext const &)
 
void preEventReadFromSource (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void preGlobalBeginLumi (edm::GlobalContext const &)
 
void preGlobalBeginRun (edm::GlobalContext const &)
 
void preGlobalEndLumi (edm::GlobalContext const &)
 
void preGlobalEndRun (edm::GlobalContext const &)
 
void preModuleEvent (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void preModuleEventAcquire (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void preModuleEventDelayedGet (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void preModuleEventPrefetching (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void preModuleGlobalBeginLumi (edm::GlobalContext const &, edm::ModuleCallingContext const &)
 
void preModuleGlobalBeginRun (edm::GlobalContext const &, edm::ModuleCallingContext const &)
 
void preModuleGlobalEndLumi (edm::GlobalContext const &, edm::ModuleCallingContext const &)
 
void preModuleGlobalEndRun (edm::GlobalContext const &, edm::ModuleCallingContext const &)
 
void preModuleStreamBeginLumi (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void preModuleStreamBeginRun (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void preModuleStreamEndLumi (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void preModuleStreamEndRun (edm::StreamContext const &, edm::ModuleCallingContext const &)
 
void prePathEvent (edm::StreamContext const &, edm::PathContext const &)
 
void preSourceConstruction (edm::ModuleDescription const &)
 
void preSourceEvent (edm::StreamID)
 
void preSourceLumi (edm::LuminosityBlockIndex)
 
void preSourceRun (edm::RunIndex)
 
void preStreamBeginLumi (edm::StreamContext const &)
 
void preStreamBeginRun (edm::StreamContext const &)
 
void preStreamEndLumi (edm::StreamContext const &)
 
void preStreamEndRun (edm::StreamContext const &)
 
template<typename T >
void printEvent (T &out, ResourcesPerJob const &) const
 
template<typename T >
void printEvent (T &out, ResourcesPerJob const &data) const
 
template<typename T >
void printEventHeader (T &out, std::string const &label) const
 
template<typename T >
void printEventHeader (T &out, std::string const &label) const
 
template<typename T >
void printEventLine (T &out, AtomicResources const &data, std::string const &label) const
 
template<typename T >
void printEventLine (T &out, AtomicResources const &data, std::string const &label) const
 
template<typename T >
void printEventLine (T &out, Resources const &data, std::string const &label) const
 
template<typename T >
void printEventLine (T &out, Resources const &data, std::string const &label) const
 
template<typename T >
void printHeader (T &out, std::string const &label) const
 
template<typename T >
void printHeader (T &out, std::string const &label) const
 
template<typename T >
void printPathSummaryHeader (T &out, std::string const &label) const
 
template<typename T >
void printPathSummaryHeader (T &out, std::string const &label) const
 
template<typename T >
void printPathSummaryLine (T &out, Resources const &data, Resources const &total, uint64_t events, std::string const &label) const
 
template<typename T >
void printPathSummaryLine (T &out, Resources const &data, Resources const &total, uint64_t events, std::string const &label) const
 
template<typename T >
void printSummary (T &out, ResourcesPerJob const &data, std::string const &label) const
 
template<typename T >
void printSummary (T &out, ResourcesPerJob const &data, std::string const &label) const
 
template<typename T >
void printSummaryHeader (T &out, std::string const &label, bool detailed) const
 
template<typename T >
void printSummaryHeader (T &out, std::string const &label, bool detailed) const
 
template<typename T >
void printSummaryLine (T &out, AtomicResources const &data, uint64_t events, std::string const &label) const
 
template<typename T >
void printSummaryLine (T &out, AtomicResources const &data, uint64_t events, std::string const &label) const
 
template<typename T >
void printSummaryLine (T &out, AtomicResources const &data, uint64_t events, uint64_t active, std::string const &label) const
 
template<typename T >
void printSummaryLine (T &out, AtomicResources const &data, uint64_t events, uint64_t active, std::string const &label) const
 
template<typename T >
void printSummaryLine (T &out, Resources const &data, uint64_t events, std::string const &label) const
 
template<typename T >
void printSummaryLine (T &out, Resources const &data, uint64_t events, std::string const &label) const
 
template<typename T >
void printSummaryLine (T &out, Resources const &data, uint64_t events, uint64_t active, std::string const &label) const
 
template<typename T >
void printSummaryLine (T &out, Resources const &data, uint64_t events, uint64_t active, std::string const &label) const
 
template<typename T >
void printTransition (T &out, AtomicResources const &data, std::string const &label) const
 
template<typename T >
void printTransition (T &out, AtomicResources const &data, std::string const &label) const
 
Measurementthread ()
 
void unsupportedSignal (const std::string &signal) const
 
void writeSummaryJSON (ResourcesPerJob const &data, std::string const &filename) const
 

Private Attributes

ProcessCallGraph callgraph_
 
unsigned int concurrent_lumis_
 
unsigned int concurrent_runs_
 
unsigned int concurrent_streams_
 
unsigned int concurrent_threads_
 
const PlotRanges dqm_event_ranges_
 
const unsigned int dqm_lumisections_range_
 
const PlotRanges dqm_module_ranges_
 
std::string dqm_path_
 
const PlotRanges dqm_path_ranges_
 
bool enable_dqm_
 
const bool enable_dqm_byls_
 
const bool enable_dqm_bymodule_
 
const bool enable_dqm_bynproc_
 
const bool enable_dqm_bypath_
 
const bool enable_dqm_transitions_
 
std::vector< edm::ParameterSethighlight_module_psets_
 
std::vector< GroupOfModuleshighlight_modules_
 
ResourcesPerJob job_summary_
 
const std::string json_filename_
 
std::vector< AtomicResourceslumi_transition_
 
AtomicResources overhead_
 
std::unique_ptr< PlotsPerJobplots_
 
const bool print_event_summary_
 
const bool print_job_summary_
 
const bool print_run_summary_
 
std::vector< ResourcesPerJobrun_summary_
 
std::vector< AtomicResourcesrun_transition_
 
std::vector< ResourcesPerJobstreams_
 
std::unique_ptr< std::atomic< unsigned int >[]> subprocess_event_check_
 
std::unique_ptr< std::atomic< unsigned int >[]> subprocess_global_lumi_check_
 
std::unique_ptr< std::atomic< unsigned int >[]> subprocess_global_run_check_
 
std::mutex summary_mutex_
 
tbb::enumerable_thread_specific< Measurement, tbb::cache_aligned_allocator< Measurement >, tbb::ets_key_per_instance > threads_
 
tbb::concurrent_unordered_set< std::string > unsupported_signals_
 
const bool write_json_summary_
 

Detailed Description

Definition at line 53 of file FastTimerService.h.

Constructor & Destructor Documentation

◆ FastTimerService()

FastTimerService::FastTimerService ( const edm::ParameterSet config,
edm::ActivityRegistry registry 
)

Definition at line 763 of file FastTimerService.cc.

764  : // configuration
765  callgraph_(),
766  // job configuration
768  concurrent_runs_(0),
771  print_event_summary_(config.getUntrackedParameter<bool>("printEventSummary")),
772  print_run_summary_(config.getUntrackedParameter<bool>("printRunSummary")),
773  print_job_summary_(config.getUntrackedParameter<bool>("printJobSummary")),
774  // JSON configuration
775  //write_json_per_event_(config.getUntrackedParameter<bool>("writeJSONByEvent")),
776  //write_json_per_ls_(config.getUntrackedParameter<bool>("writeJSONByLumiSection")),
777  //write_json_per_run_(config.getUntrackedParameter<bool>("writeJSONByRun")),
778  write_json_summary_(config.getUntrackedParameter<bool>("writeJSONSummary")),
779  json_filename_(config.getUntrackedParameter<std::string>("jsonFileName")),
780  // DQM configuration
781  enable_dqm_(config.getUntrackedParameter<bool>("enableDQM")),
782  enable_dqm_bymodule_(config.getUntrackedParameter<bool>("enableDQMbyModule")),
783  enable_dqm_bypath_(config.getUntrackedParameter<bool>("enableDQMbyPath")),
784  enable_dqm_byls_(config.getUntrackedParameter<bool>("enableDQMbyLumiSection")),
785  enable_dqm_bynproc_(config.getUntrackedParameter<bool>("enableDQMbyProcesses")),
786  enable_dqm_transitions_(config.getUntrackedParameter<bool>("enableDQMTransitions")),
787  dqm_event_ranges_({config.getUntrackedParameter<double>("dqmTimeRange"), // ms
788  config.getUntrackedParameter<double>("dqmTimeResolution"), // ms
789  config.getUntrackedParameter<double>("dqmMemoryRange"), // kB
790  config.getUntrackedParameter<double>("dqmMemoryResolution")}), // kB
791  dqm_path_ranges_({config.getUntrackedParameter<double>("dqmPathTimeRange"), // ms
792  config.getUntrackedParameter<double>("dqmPathTimeResolution"), // ms
793  config.getUntrackedParameter<double>("dqmPathMemoryRange"), // kB
794  config.getUntrackedParameter<double>("dqmPathMemoryResolution")}), // kB
795  dqm_module_ranges_({config.getUntrackedParameter<double>("dqmModuleTimeRange"), // ms
796  config.getUntrackedParameter<double>("dqmModuleTimeResolution"), // ms
797  config.getUntrackedParameter<double>("dqmModuleMemoryRange"), // kB
798  config.getUntrackedParameter<double>("dqmModuleMemoryResolution")}), // kB
799  dqm_lumisections_range_(config.getUntrackedParameter<unsigned int>("dqmLumiSectionsRange")),
800  dqm_path_(config.getUntrackedParameter<std::string>("dqmPath")),
801  // highlight configuration
802  highlight_module_psets_(config.getUntrackedParameter<std::vector<edm::ParameterSet>>("highlightModules")),
803  highlight_modules_(highlight_module_psets_.size()) // filled in postBeginJob()
804 {
805  // start observing when a thread enters or leaves the TBB global thread arena
806  tbb::task_scheduler_observer::observe();
807 
808  // register EDM call backs
814  //registry.watchPostGlobalBeginRun( this, & FastTimerService::postGlobalBeginRun );
815  //registry.watchPreGlobalEndRun( this, & FastTimerService::preGlobalEndRun );
818  //registry.watchPostStreamBeginRun( this, & FastTimerService::postStreamBeginRun );
819  //registry.watchPreStreamEndRun( this, & FastTimerService::preStreamEndRun );
822  //registry.watchPostGlobalBeginLumi( this, & FastTimerService::postGlobalBeginLumi );
823  //registry.watchPreGlobalEndLumi( this, & FastTimerService::preGlobalEndLumi );
826  //registry.watchPostStreamBeginLumi( this, & FastTimerService::postStreamBeginLumi );
827  //registry.watchPreStreamEndLumi( this, & FastTimerService::preStreamEndLumi );
829  registry.watchPreEvent(this, &FastTimerService::preEvent);
834  //registry.watchPostSourceConstruction( this, & FastTimerService::postSourceConstruction);
841  //registry.watchPreModuleConstruction( this, & FastTimerService::preModuleConstruction);
842  //registry.watchPostModuleConstruction( this, & FastTimerService::postModuleConstruction);
843  //registry.watchPreModuleBeginJob( this, & FastTimerService::preModuleBeginJob );
844  //registry.watchPostModuleBeginJob( this, & FastTimerService::postModuleBeginJob );
845  //registry.watchPreModuleEndJob( this, & FastTimerService::preModuleEndJob );
846  //registry.watchPostModuleEndJob( this, & FastTimerService::postModuleEndJob );
847  //registry.watchPreModuleBeginStream( this, & FastTimerService::preModuleBeginStream );
848  //registry.watchPostModuleBeginStream( this, & FastTimerService::postModuleBeginStream );
849  //registry.watchPreModuleEndStream( this, & FastTimerService::preModuleEndStream );
850  //registry.watchPostModuleEndStream( this, & FastTimerService::postModuleEndStream );
867  //registry.watchPreModuleEventPrefetching( this, & FastTimerService::preModuleEventPrefetching );
868  //registry.watchPostModuleEventPrefetching( this, & FastTimerService::postModuleEventPrefetching );
875  //registry.watchPreEventReadFromSource( this, & FastTimerService::preEventReadFromSource );
876  //registry.watchPostEventReadFromSource( this, & FastTimerService::postEventReadFromSource );
877 }

◆ ~FastTimerService()

FastTimerService::~FastTimerService ( )
overridedefault

Member Function Documentation

◆ encodeToJSON() [1/3]

json FastTimerService::encodeToJSON ( edm::ModuleDescription const &  module,
ResourcesPerModule const &  data 
) const
private

Definition at line 1370 of file FastTimerService.cc.

1370  {
1371  return encodeToJSON(module.moduleName(), module.moduleLabel(), data.events, data.total);
1372 }

References data, edm::ModuleDescription::moduleLabel(), and edm::ModuleDescription::moduleName().

◆ encodeToJSON() [2/3]

template<typename T >
json FastTimerService::encodeToJSON ( std::string const &  type,
std::string const &  label,
unsigned int  events,
T const &  data 
) const
private

◆ encodeToJSON() [3/3]

template<typename T >
json FastTimerService::encodeToJSON ( std::string const &  type,
std::string const &  label,
unsigned int  events,
T const &  data 
) const
private

Definition at line 1357 of file FastTimerService.cc.

1360  {
1361  return json{{"type", type},
1362  {"label", label},
1363  {"events", events},
1364  {"time_thread", ms(data.time_thread)},
1365  {"time_real", ms(data.time_real)},
1366  {"mem_alloc", kB(data.allocated)},
1367  {"mem_free", kB(data.deallocated)}};
1368 }

References data, patZpeak::events, and label.

◆ fillDescriptions()

void FastTimerService::fillDescriptions ( edm::ConfigurationDescriptions descriptions)
static

Definition at line 1673 of file FastTimerService.cc.

1673  {
1675  desc.addUntracked<bool>("printEventSummary", false);
1676  desc.addUntracked<bool>("printRunSummary", true);
1677  desc.addUntracked<bool>("printJobSummary", true);
1678  // JSON configuration
1679  //desc.addUntracked<bool>("writeJSONByEvent", false);
1680  //desc.addUntracked<bool>("writeJSONByLumiSection", false);
1681  //desc.addUntracked<bool>("writeJSONByRun", false);
1682  desc.addUntracked<bool>("writeJSONSummary", false);
1683  desc.addUntracked<std::string>("jsonFileName", "resources.json");
1684  // DQM configuration
1685  desc.addUntracked<bool>("enableDQM", true);
1686  desc.addUntracked<bool>("enableDQMbyModule", false);
1687  desc.addUntracked<bool>("enableDQMbyPath", false);
1688  desc.addUntracked<bool>("enableDQMbyLumiSection", false);
1689  desc.addUntracked<bool>("enableDQMbyProcesses", false);
1690  desc.addUntracked<bool>("enableDQMTransitions", false);
1691  desc.addUntracked<double>("dqmTimeRange", 1000.); // ms
1692  desc.addUntracked<double>("dqmTimeResolution", 5.); // ms
1693  desc.addUntracked<double>("dqmMemoryRange", 1000000.); // kB
1694  desc.addUntracked<double>("dqmMemoryResolution", 5000.); // kB
1695  desc.addUntracked<double>("dqmPathTimeRange", 100.); // ms
1696  desc.addUntracked<double>("dqmPathTimeResolution", 0.5); // ms
1697  desc.addUntracked<double>("dqmPathMemoryRange", 1000000.); // kB
1698  desc.addUntracked<double>("dqmPathMemoryResolution", 5000.); // kB
1699  desc.addUntracked<double>("dqmModuleTimeRange", 40.); // ms
1700  desc.addUntracked<double>("dqmModuleTimeResolution", 0.2); // ms
1701  desc.addUntracked<double>("dqmModuleMemoryRange", 100000.); // kB
1702  desc.addUntracked<double>("dqmModuleMemoryResolution", 500.); // kB
1703  desc.addUntracked<unsigned>("dqmLumiSectionsRange", 2500); // ~ 16 hours
1704  desc.addUntracked<std::string>("dqmPath", "HLT/TimerService");
1705 
1706  edm::ParameterSetDescription highlightModulesDescription;
1707  highlightModulesDescription.addUntracked<std::vector<std::string>>("modules", {});
1708  highlightModulesDescription.addUntracked<std::string>("label", "producers");
1709  desc.addVPSetUntracked("highlightModules", highlightModulesDescription, {});
1710 
1711  // # OBSOLETE - these parameters are ignored, they are left only not to break old configurations
1712  // they will not be printed in the generated cfi.py file
1713  desc.addOptionalNode(edm::ParameterDescription<bool>("useRealTimeClock", true, false), false)
1714  ->setComment("This parameter is obsolete and will be ignored.");
1715  desc.addOptionalNode(edm::ParameterDescription<bool>("enableTimingPaths", true, false), false)
1716  ->setComment("This parameter is obsolete and will be ignored.");
1717  desc.addOptionalNode(edm::ParameterDescription<bool>("enableTimingModules", true, false), false)
1718  ->setComment("This parameter is obsolete and will be ignored.");
1719  desc.addOptionalNode(edm::ParameterDescription<bool>("enableTimingExclusive", false, false), false)
1720  ->setComment("This parameter is obsolete and will be ignored.");
1721  desc.addOptionalNode(edm::ParameterDescription<bool>("enableTimingSummary", false, false), false)
1722  ->setComment("This parameter is obsolete and will be ignored.");
1723  desc.addOptionalNode(edm::ParameterDescription<bool>("skipFirstPath", false, false), false)
1724  ->setComment("This parameter is obsolete and will be ignored.");
1725  desc.addOptionalNode(edm::ParameterDescription<bool>("enableDQMbyPathActive", false, false), false)
1726  ->setComment("This parameter is obsolete and will be ignored.");
1727  desc.addOptionalNode(edm::ParameterDescription<bool>("enableDQMbyPathTotal", true, false), false)
1728  ->setComment("This parameter is obsolete and will be ignored.");
1729  desc.addOptionalNode(edm::ParameterDescription<bool>("enableDQMbyPathOverhead", false, false), false)
1730  ->setComment("This parameter is obsolete and will be ignored.");
1731  desc.addOptionalNode(edm::ParameterDescription<bool>("enableDQMbyPathDetails", false, false), false)
1732  ->setComment("This parameter is obsolete and will be ignored.");
1733  desc.addOptionalNode(edm::ParameterDescription<bool>("enableDQMbyPathCounters", true, false), false)
1734  ->setComment("This parameter is obsolete and will be ignored.");
1735  desc.addOptionalNode(edm::ParameterDescription<bool>("enableDQMbyPathExclusive", false, false), false)
1736  ->setComment("This parameter is obsolete and will be ignored.");
1737  desc.addOptionalNode(edm::ParameterDescription<bool>("enableDQMbyModuleType", false, false), false)
1738  ->setComment("This parameter is obsolete and will be ignored.");
1739  desc.addOptionalNode(edm::ParameterDescription<bool>("enableDQMSummary", false, false), false)
1740  ->setComment("This parameter is obsolete and will be ignored.");
1741 
1742  descriptions.add("FastTimerService", desc);
1743 }

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::addUntracked(), submitPVResolutionJobs::desc, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ ignoredSignal()

void FastTimerService::ignoredSignal ( const std::string &  signal) const
private

Definition at line 879 of file FastTimerService.cc.

879  {
880  LogDebug("FastTimerService") << "The FastTimerService received is currently not monitoring the signal \"" << signal
881  << "\".\n";
882 }

References LogDebug.

◆ isFirstSubprocess() [1/2]

bool FastTimerService::isFirstSubprocess ( edm::GlobalContext const &  )
private

◆ isFirstSubprocess() [2/2]

bool FastTimerService::isFirstSubprocess ( edm::StreamContext const &  )
private

◆ isLastSubprocess()

bool FastTimerService::isLastSubprocess ( std::atomic< unsigned int > &  check)
private

Definition at line 1411 of file FastTimerService.cc.

1411  {
1412  // release-acquire semantic guarantees that all writes in this and other threads are visible
1413  // after this operation; full sequentially-consistent ordering is (probably) not needed.
1414  unsigned int old_value = check.fetch_add(1, std::memory_order_acq_rel);
1415  return (old_value == callgraph_.processes().size() - 1);
1416 }

References RPCNoise_example::check.

◆ on_scheduler_entry()

void FastTimerService::on_scheduler_entry ( bool  worker)
finalprivate

Definition at line 1660 of file FastTimerService.cc.

1660  {
1661  // initialise the measurement point for a thread that has newly joining the TBB pool
1662  thread().measure();
1663 }

◆ on_scheduler_exit()

void FastTimerService::on_scheduler_exit ( bool  worker)
finalprivate

Definition at line 1665 of file FastTimerService.cc.

1665  {
1666  // account any resources used or freed by the thread before leaving the TBB pool
1668 }

◆ postBeginJob()

void FastTimerService::postBeginJob ( )
private

Definition at line 976 of file FastTimerService.cc.

976  {
977  unsigned int modules = callgraph_.size();
978 
979  // module highlights
980  for (unsigned int group : boost::irange(0ul, highlight_module_psets_.size())) {
981  // copy and sort for faster search via std::binary_search
982  auto labels = highlight_module_psets_[group].getUntrackedParameter<std::vector<std::string>>("modules");
983  std::sort(labels.begin(), labels.end());
984 
985  highlight_modules_[group].label = highlight_module_psets_[group].getUntrackedParameter<std::string>("label");
986  highlight_modules_[group].modules.reserve(labels.size());
987  // convert the module labels in module ids
988  for (unsigned int i = 0; i < modules; ++i) {
989  auto const& label = callgraph_.module(i).moduleLabel();
990  if (std::binary_search(labels.begin(), labels.end(), label))
991  highlight_modules_[group].modules.push_back(i);
992  }
993  }
994  highlight_module_psets_.clear();
995 
996  // allocate the resource counters for each stream, process, path and module
997  ResourcesPerJob temp(callgraph_, highlight_modules_);
1000  job_summary_ = temp;
1001 
1002  // check that the DQMStore service is available
1003  if (enable_dqm_ and not edm::Service<dqm::legacy::DQMStore>().isAvailable()) {
1004  // the DQMStore is not available, disable all DQM plots
1005  enable_dqm_ = false;
1006  edm::LogWarning("FastTimerService") << "The DQMStore is not avalable, the DQM plots will not be generated";
1007  }
1008 
1009  // allocate the structures to hold pointers to the DQM plots
1010  if (enable_dqm_) {
1011  plots_ = std::make_unique<PlotsPerJob>(callgraph_, highlight_modules_);
1012  }
1013 }

References watchdog::group, mps_fire::i, label, SummaryClient_cfi::labels, LogMessageMonitor_cff::modules, AlCaHLTBitMon_QueryRunRegistry::string, and groupFilesInBlocks::temp.

◆ postEndJob()

void FastTimerService::postEndJob ( )
private

Definition at line 1096 of file FastTimerService.cc.

1096  {
1097  if (print_job_summary_) {
1098  edm::LogVerbatim out("FastReport");
1099  printSummary(out, job_summary_, "Job");
1100  }
1101  if (write_json_summary_) {
1103  }
1104 }

References MillePedeFileConverter_cfg::out, and SiStripPI::printSummary().

◆ postEvent()

void FastTimerService::postEvent ( edm::StreamContext const &  sc)
private

Definition at line 1420 of file FastTimerService.cc.

1420  {
1421  ignoredSignal(__func__);
1422 
1423  unsigned int pid = callgraph_.processId(*sc.processContext());
1424  unsigned int sid = sc.streamID();
1425  auto& stream = streams_[sid];
1426  auto& process = callgraph_.processDescription(pid);
1427 
1428  // measure the event resources as the sum of all modules' resources
1429  auto& data = stream.processes[pid].total;
1430  for (unsigned int id : process.modules_)
1431  data += stream.modules[id].total;
1432  stream.total += data;
1433 
1434  // handle the summaries and fill the plots only after the last subprocess has run
1436  if (not last)
1437  return;
1438 
1439  // measure the event resources explicitly
1440  stream.event_measurement.measure_and_store(stream.event);
1441 
1442  // add to the event resources those used by source (which is not part of any process)
1443  unsigned int id = 0;
1444  stream.total += stream.modules[id].total;
1445 
1446  // highlighted modules
1447  for (unsigned int group : boost::irange(0ul, highlight_modules_.size()))
1448  for (unsigned int i : highlight_modules_[group].modules)
1449  stream.highlight[group] += stream.modules[i].total;
1450 
1451  // avoid concurrent access to the summary objects
1452  {
1453  std::lock_guard<std::mutex> guard(summary_mutex_);
1454  job_summary_ += stream;
1455  run_summary_[sc.runIndex()] += stream;
1456  }
1457 
1458  if (print_event_summary_) {
1459  edm::LogVerbatim out("FastReport");
1460  printEvent(out, stream);
1461  }
1462 
1463  if (enable_dqm_) {
1464  plots_->fill(callgraph_, stream, sc.eventID().luminosityBlock());
1465  }
1466 }

References data, edm::StreamContext::eventID(), watchdog::group, mps_fire::i, triggerObjects_cff::id, dqmdumpme::last, edm::EventID::luminosityBlock(), MillePedeFileConverter_cfg::out, LaserDQM_cfg::process, edm::StreamContext::processContext(), edm::StreamContext::runIndex(), cms::cuda::stream, and edm::StreamContext::streamID().

◆ postEventReadFromSource()

void FastTimerService::postEventReadFromSource ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)
private

Definition at line 1584 of file FastTimerService.cc.

1584  {
1585  ignoredSignal(__func__);
1586 }

◆ postGlobalBeginLumi()

void FastTimerService::postGlobalBeginLumi ( edm::GlobalContext const &  gc)
private

Definition at line 1032 of file FastTimerService.cc.

1032 { ignoredSignal(__func__); }

◆ postGlobalBeginRun()

void FastTimerService::postGlobalBeginRun ( edm::GlobalContext const &  gc)
private

Definition at line 930 of file FastTimerService.cc.

930 { ignoredSignal(__func__); }

◆ postGlobalEndLumi()

void FastTimerService::postGlobalEndLumi ( edm::GlobalContext const &  gc)
private

Definition at line 1036 of file FastTimerService.cc.

1036  {
1037  ignoredSignal(__func__);
1038 
1039  // handle the summaries only after the last subprocess has run
1040  auto index = gc.luminosityBlockIndex();
1042  if (not last)
1043  return;
1044 
1045  edm::LogVerbatim out("FastReport");
1046  auto const& label =
1047  fmt::sprintf("run %d, lumisection %d", gc.luminosityBlockID().run(), gc.luminosityBlockID().luminosityBlock());
1049 
1051  plots_->fill_lumi(lumi_transition_[index], gc.luminosityBlockID().luminosityBlock());
1052  }
1053 }

References label, dqmdumpme::last, edm::LuminosityBlockID::luminosityBlock(), edm::GlobalContext::luminosityBlockID(), edm::GlobalContext::luminosityBlockIndex(), MillePedeFileConverter_cfg::out, and edm::LuminosityBlockID::run().

◆ postGlobalEndRun()

void FastTimerService::postGlobalEndRun ( edm::GlobalContext const &  gc)
private

Definition at line 1065 of file FastTimerService.cc.

1065  {
1066  ignoredSignal(__func__);
1067 
1068  // handle the summaries only after the last subprocess has run
1069  auto index = gc.runIndex();
1071  if (not last)
1072  return;
1073 
1074  edm::LogVerbatim out("FastReport");
1075  auto const& label = fmt::sprintf("Run %d", gc.luminosityBlockID().run());
1076  if (print_run_summary_) {
1078  }
1080 
1082  plots_->fill_run(run_transition_[index]);
1083  }
1084 }

References label, dqmdumpme::last, edm::GlobalContext::luminosityBlockID(), MillePedeFileConverter_cfg::out, SiStripPI::printSummary(), edm::LuminosityBlockID::run(), and edm::GlobalContext::runIndex().

◆ postModuleEvent()

void FastTimerService::postModuleEvent ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)
private

Definition at line 1549 of file FastTimerService.cc.

1549  {
1550  edm::ModuleDescription const& md = *mcc.moduleDescription();
1551  unsigned int id = md.id();
1552  unsigned int sid = sc.streamID().value();
1553  auto& stream = streams_[sid];
1554  auto& module = stream.modules[id];
1555 
1556  if (module.has_acquire) {
1557  thread().measure_and_accumulate(module.total);
1558  } else {
1559  thread().measure_and_store(module.total);
1560  }
1561  ++module.events;
1562 }

References triggerObjects_cff::id, edm::ModuleDescription::id(), edm::ModuleCallingContext::moduleDescription(), cms::cuda::stream, edm::StreamContext::streamID(), and edm::StreamID::value().

◆ postModuleEventAcquire()

void FastTimerService::postModuleEventAcquire ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)
private

Definition at line 1532 of file FastTimerService.cc.

1532  {
1533  edm::ModuleDescription const& md = *mcc.moduleDescription();
1534  unsigned int id = md.id();
1535  unsigned int sid = sc.streamID().value();
1536  auto& stream = streams_[sid];
1537  auto& module = stream.modules[id];
1538 
1539  module.has_acquire = true;
1540  thread().measure_and_store(module.total);
1541 }

References triggerObjects_cff::id, edm::ModuleDescription::id(), edm::ModuleCallingContext::moduleDescription(), cms::cuda::stream, edm::StreamContext::streamID(), and edm::StreamID::value().

◆ postModuleEventDelayedGet()

void FastTimerService::postModuleEventDelayedGet ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)
private

Definition at line 1568 of file FastTimerService.cc.

1568  {
1569  unsupportedSignal(__func__);
1570 }

◆ postModuleEventPrefetching()

void FastTimerService::postModuleEventPrefetching ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)
private

Definition at line 1576 of file FastTimerService.cc.

1576  {
1577  ignoredSignal(__func__);
1578 }

◆ postModuleGlobalBeginLumi()

void FastTimerService::postModuleGlobalBeginLumi ( edm::GlobalContext const &  gc,
edm::ModuleCallingContext const &  mcc 
)
private

Definition at line 1610 of file FastTimerService.cc.

1610  {
1611  auto index = gc.luminosityBlockIndex();
1613 }

References edm::GlobalContext::luminosityBlockIndex().

◆ postModuleGlobalBeginRun()

void FastTimerService::postModuleGlobalBeginRun ( edm::GlobalContext const &  gc,
edm::ModuleCallingContext const &  mcc 
)
private

Definition at line 1592 of file FastTimerService.cc.

1592  {
1593  auto index = gc.runIndex();
1595 }

References edm::GlobalContext::runIndex().

◆ postModuleGlobalEndLumi()

void FastTimerService::postModuleGlobalEndLumi ( edm::GlobalContext const &  gc,
edm::ModuleCallingContext const &  mcc 
)
private

Definition at line 1619 of file FastTimerService.cc.

1619  {
1620  auto index = gc.luminosityBlockIndex();
1622 }

References edm::GlobalContext::luminosityBlockIndex().

◆ postModuleGlobalEndRun()

void FastTimerService::postModuleGlobalEndRun ( edm::GlobalContext const &  gc,
edm::ModuleCallingContext const &  mcc 
)
private

Definition at line 1601 of file FastTimerService.cc.

1601  {
1602  auto index = gc.runIndex();
1604 }

References edm::GlobalContext::runIndex().

◆ postModuleStreamBeginLumi()

void FastTimerService::postModuleStreamBeginLumi ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)
private

Definition at line 1646 of file FastTimerService.cc.

1646  {
1647  auto index = sc.luminosityBlockIndex();
1649 }

References edm::StreamContext::luminosityBlockIndex().

◆ postModuleStreamBeginRun()

void FastTimerService::postModuleStreamBeginRun ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)
private

Definition at line 1628 of file FastTimerService.cc.

1628  {
1629  auto index = sc.runIndex();
1631 }

References edm::StreamContext::runIndex().

◆ postModuleStreamEndLumi()

void FastTimerService::postModuleStreamEndLumi ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)
private

Definition at line 1655 of file FastTimerService.cc.

1655  {
1656  auto index = sc.luminosityBlockIndex();
1658 }

References edm::StreamContext::luminosityBlockIndex().

◆ postModuleStreamEndRun()

void FastTimerService::postModuleStreamEndRun ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)
private

Definition at line 1637 of file FastTimerService.cc.

1637  {
1638  auto index = sc.runIndex();
1640 }

References edm::StreamContext::runIndex().

◆ postPathEvent()

void FastTimerService::postPathEvent ( edm::StreamContext const &  sc,
edm::PathContext const &  pc,
edm::HLTPathStatus const &  status 
)
private

Definition at line 1502 of file FastTimerService.cc.

1504  {
1505  unsigned int sid = sc.streamID().value();
1506  unsigned int pid = callgraph_.processId(*sc.processContext());
1507  unsigned int id = pc.pathID();
1508  auto& stream = streams_[sid];
1509  auto& data = pc.isEndPath() ? stream.processes[pid].endpaths[id] : stream.processes[pid].paths[id];
1510 
1511  auto const& path =
1513  unsigned int index = path.modules_on_path_.empty() ? 0 : status.index() + 1;
1514  data.last = path.modules_on_path_.empty() ? 0 : path.last_dependency_of_module_[status.index()];
1515 
1516  for (unsigned int i = 0; i < index; ++i) {
1517  auto const& module = stream.modules[path.modules_on_path_[i]];
1518  data.active += module.total;
1519  }
1520  for (unsigned int i = 0; i < data.last; ++i) {
1521  auto const& module = stream.modules[path.modules_and_dependencies_[i]];
1522  data.total += module.total;
1523  }
1524 }

References data, mps_fire::i, triggerObjects_cff::id, edm::PathContext::isEndPath(), castor_dqm_sourceclient_file_cfg::path, edm::PathContext::pathID(), edm::StreamContext::processContext(), mps_update::status, cms::cuda::stream, edm::StreamContext::streamID(), and edm::StreamID::value().

◆ postSourceEvent()

void FastTimerService::postSourceEvent ( edm::StreamID  sid)
private

Definition at line 1482 of file FastTimerService.cc.

1482  {
1484  unsigned int id = md.id();
1485  auto& stream = streams_[sid];
1486  auto& module = stream.modules[id];
1487 
1488  thread().measure_and_store(module.total);
1489  ++stream.modules[id].events;
1490 }

References triggerObjects_cff::id, edm::ModuleDescription::id(), and cms::cuda::stream.

◆ postSourceLumi()

void FastTimerService::postSourceLumi ( edm::LuminosityBlockIndex  index)
private

Definition at line 1092 of file FastTimerService.cc.

1092  {
1094 }

◆ postSourceRun()

void FastTimerService::postSourceRun ( edm::RunIndex  index)
private

Definition at line 1088 of file FastTimerService.cc.

◆ postStreamBeginLumi()

void FastTimerService::postStreamBeginLumi ( edm::StreamContext const &  sc)
private

Definition at line 1057 of file FastTimerService.cc.

1057 { ignoredSignal(__func__); }

◆ postStreamBeginRun()

void FastTimerService::postStreamBeginRun ( edm::StreamContext const &  sc)
private

Definition at line 1015 of file FastTimerService.cc.

1015 { ignoredSignal(__func__); }

◆ postStreamEndLumi()

void FastTimerService::postStreamEndLumi ( edm::StreamContext const &  sc)
private

Definition at line 1061 of file FastTimerService.cc.

1061 { ignoredSignal(__func__); }

◆ postStreamEndRun()

void FastTimerService::postStreamEndRun ( edm::StreamContext const &  sc)
private

Definition at line 1019 of file FastTimerService.cc.

1019 { ignoredSignal(__func__); }

◆ preallocate()

void FastTimerService::preallocate ( edm::service::SystemBounds const &  bounds)
private

Definition at line 934 of file FastTimerService.cc.

934  {
935  concurrent_lumis_ = bounds.maxNumberOfConcurrentLuminosityBlocks();
936  concurrent_runs_ = bounds.maxNumberOfConcurrentRuns();
937  concurrent_streams_ = bounds.maxNumberOfStreams();
938  concurrent_threads_ = bounds.maxNumberOfThreads();
939 
941  dqm_path_ += fmt::sprintf(
942  "/Running on %s with %d streams on %d threads", processor_model, concurrent_streams_, concurrent_threads_);
943 
944  // clean characters that are deemed unsafe for DQM
945  // see the definition of `s_safe` in DQMServices/Core/src/DQMStore.cc
946  auto safe_for_dqm = "/ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-+=_()# "s;
947  for (auto& c : dqm_path_)
948  if (safe_for_dqm.find(c) == std::string::npos)
949  c = '_';
950 
951  // allocate atomic variables to keep track of the completion of each step, process by process
952  subprocess_event_check_ = std::make_unique<std::atomic<unsigned int>[]>(concurrent_streams_);
953  for (unsigned int i = 0; i < concurrent_streams_; ++i)
955  subprocess_global_run_check_ = std::make_unique<std::atomic<unsigned int>[]>(concurrent_runs_);
956  for (unsigned int i = 0; i < concurrent_runs_; ++i)
958  subprocess_global_lumi_check_ = std::make_unique<std::atomic<unsigned int>[]>(concurrent_lumis_);
959  for (unsigned int i = 0; i < concurrent_lumis_; ++i)
961 
962  // allocate buffers to keep track of the resources spent in the lumi and run transitions
965 }

References HltBtagPostValidation_cff::c, mps_fire::i, edm::service::SystemBounds::maxNumberOfConcurrentLuminosityBlocks(), edm::service::SystemBounds::maxNumberOfConcurrentRuns(), edm::service::SystemBounds::maxNumberOfStreams(), edm::service::SystemBounds::maxNumberOfThreads(), processor_model, and alignCSCRings::s.

◆ preBeginJob()

void FastTimerService::preBeginJob ( edm::PathsAndConsumesOfModulesBase const &  pathsAndConsumes,
edm::ProcessContext const &  context 
)
private

Definition at line 971 of file FastTimerService.cc.

972  {
973  callgraph_.preBeginJob(pathsAndConsumes, context);
974 }

◆ preEvent()

void FastTimerService::preEvent ( edm::StreamContext const &  sc)
private

Definition at line 1418 of file FastTimerService.cc.

1418 { ignoredSignal(__func__); }

◆ preEventReadFromSource()

void FastTimerService::preEventReadFromSource ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)
private

Definition at line 1580 of file FastTimerService.cc.

1580  {
1581  ignoredSignal(__func__);
1582 }

◆ preGlobalBeginLumi()

void FastTimerService::preGlobalBeginLumi ( edm::GlobalContext const &  gc)
private

Definition at line 1021 of file FastTimerService.cc.

1021  {
1022  ignoredSignal(__func__);
1023 
1024  // reset the lumi counters only during the main process being run
1025  if (isFirstSubprocess(gc)) {
1026  auto index = gc.luminosityBlockIndex();
1028  lumi_transition_[index].reset();
1029  }
1030 }

References edm::GlobalContext::luminosityBlockIndex().

◆ preGlobalBeginRun()

void FastTimerService::preGlobalBeginRun ( edm::GlobalContext const &  gc)
private

Definition at line 892 of file FastTimerService.cc.

892  {
893  ignoredSignal(__func__);
894 
895  // reset the run counters only during the main process being run
896  if (isFirstSubprocess(gc)) {
897  auto index = gc.runIndex();
899  run_transition_[index].reset();
900  run_summary_[index].reset();
901 
902  // book the DQM plots
903  if (enable_dqm_) {
904  // define a callback to book the MonitorElements
905  auto bookTransactionCallback = [&, this](dqm::reco::DQMStore::IBooker& booker, dqm::reco::DQMStore::IGetter&) {
906  auto scope = dqm::reco::DQMStore::IBooker::UseRunScope(booker);
907  // we should really do this, but only DQMStore is allowed to touch it
908  // We could move to postGlobalBeginRun, then the DQMStore has sure set it up.
909  //booker.setRunLumi(gc.luminosityBlockID());
910  booker.setCurrentFolder(dqm_path_);
911  plots_->book(booker,
912  callgraph_,
922  };
923 
924  // book MonitorElements for this stream
925  edm::Service<dqm::legacy::DQMStore>()->meBookerGetter(bookTransactionCallback);
926  }
927  }
928 }

References edm::GlobalContext::runIndex(), and dqm::implementation::NavigatorBase::setCurrentFolder().

◆ preGlobalEndLumi()

void FastTimerService::preGlobalEndLumi ( edm::GlobalContext const &  gc)
private

Definition at line 1034 of file FastTimerService.cc.

1034 { ignoredSignal(__func__); }

◆ preGlobalEndRun()

void FastTimerService::preGlobalEndRun ( edm::GlobalContext const &  gc)
private

Definition at line 1063 of file FastTimerService.cc.

1063 { ignoredSignal(__func__); }

◆ preModuleEvent()

void FastTimerService::preModuleEvent ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)
private

Definition at line 1543 of file FastTimerService.cc.

1543  {
1544  unsigned int sid = sc.streamID().value();
1545  auto& stream = streams_[sid];
1546  thread().measure_and_accumulate(stream.overhead);
1547 }

References cms::cuda::stream, edm::StreamContext::streamID(), and edm::StreamID::value().

◆ preModuleEventAcquire()

void FastTimerService::preModuleEventAcquire ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)
private

Definition at line 1526 of file FastTimerService.cc.

1526  {
1527  unsigned int sid = sc.streamID().value();
1528  auto& stream = streams_[sid];
1529  thread().measure_and_accumulate(stream.overhead);
1530 }

References cms::cuda::stream, edm::StreamContext::streamID(), and edm::StreamID::value().

◆ preModuleEventDelayedGet()

void FastTimerService::preModuleEventDelayedGet ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)
private

Definition at line 1564 of file FastTimerService.cc.

1564  {
1565  unsupportedSignal(__func__);
1566 }

◆ preModuleEventPrefetching()

void FastTimerService::preModuleEventPrefetching ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)
private

Definition at line 1572 of file FastTimerService.cc.

1572  {
1573  ignoredSignal(__func__);
1574 }

◆ preModuleGlobalBeginLumi()

void FastTimerService::preModuleGlobalBeginLumi ( edm::GlobalContext const &  gc,
edm::ModuleCallingContext const &  mcc 
)
private

Definition at line 1606 of file FastTimerService.cc.

1606  {
1608 }

◆ preModuleGlobalBeginRun()

void FastTimerService::preModuleGlobalBeginRun ( edm::GlobalContext const &  gc,
edm::ModuleCallingContext const &  mcc 
)
private

Definition at line 1588 of file FastTimerService.cc.

1588  {
1590 }

◆ preModuleGlobalEndLumi()

void FastTimerService::preModuleGlobalEndLumi ( edm::GlobalContext const &  gc,
edm::ModuleCallingContext const &  mcc 
)
private

Definition at line 1615 of file FastTimerService.cc.

1615  {
1617 }

◆ preModuleGlobalEndRun()

void FastTimerService::preModuleGlobalEndRun ( edm::GlobalContext const &  gc,
edm::ModuleCallingContext const &  mcc 
)
private

Definition at line 1597 of file FastTimerService.cc.

1597  {
1599 }

◆ preModuleStreamBeginLumi()

void FastTimerService::preModuleStreamBeginLumi ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)
private

Definition at line 1642 of file FastTimerService.cc.

1642  {
1644 }

◆ preModuleStreamBeginRun()

void FastTimerService::preModuleStreamBeginRun ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)
private

Definition at line 1624 of file FastTimerService.cc.

1624  {
1626 }

◆ preModuleStreamEndLumi()

void FastTimerService::preModuleStreamEndLumi ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)
private

Definition at line 1651 of file FastTimerService.cc.

1651  {
1653 }

◆ preModuleStreamEndRun()

void FastTimerService::preModuleStreamEndRun ( edm::StreamContext const &  sc,
edm::ModuleCallingContext const &  mcc 
)
private

Definition at line 1633 of file FastTimerService.cc.

1633  {
1635 }

◆ prePathEvent()

void FastTimerService::prePathEvent ( edm::StreamContext const &  sc,
edm::PathContext const &  pc 
)
private

Definition at line 1492 of file FastTimerService.cc.

1492  {
1493  unsigned int sid = sc.streamID().value();
1494  unsigned int pid = callgraph_.processId(*sc.processContext());
1495  unsigned int id = pc.pathID();
1496  auto& stream = streams_[sid];
1497  auto& data = pc.isEndPath() ? stream.processes[pid].endpaths[id] : stream.processes[pid].paths[id];
1498  data.status = false;
1499  data.last = 0;
1500 }

References data, triggerObjects_cff::id, edm::PathContext::isEndPath(), edm::PathContext::pathID(), edm::StreamContext::processContext(), cms::cuda::stream, edm::StreamContext::streamID(), and edm::StreamID::value().

◆ preSourceConstruction()

void FastTimerService::preSourceConstruction ( edm::ModuleDescription const &  module)
private

Definition at line 967 of file FastTimerService.cc.

967  {
969 }

◆ preSourceEvent()

void FastTimerService::preSourceEvent ( edm::StreamID  sid)
private

Definition at line 1468 of file FastTimerService.cc.

1468  {
1469  // clear the event counters
1470  auto& stream = streams_[sid];
1471  stream.reset();
1472  ++stream.events;
1473 
1474  subprocess_event_check_[sid] = 0;
1475 
1476  // reuse the same measurement for the Source module and for the explicit begin of the Event
1477  auto& measurement = thread();
1478  measurement.measure_and_accumulate(stream.overhead);
1479  stream.event_measurement = measurement;
1480 }

References cms::cuda::stream.

◆ preSourceLumi()

void FastTimerService::preSourceLumi ( edm::LuminosityBlockIndex  index)
private

Definition at line 1090 of file FastTimerService.cc.

◆ preSourceRun()

void FastTimerService::preSourceRun ( edm::RunIndex  index)
private

Definition at line 1086 of file FastTimerService.cc.

◆ preStreamBeginLumi()

void FastTimerService::preStreamBeginLumi ( edm::StreamContext const &  sc)
private

Definition at line 1055 of file FastTimerService.cc.

1055 { ignoredSignal(__func__); }

◆ preStreamBeginRun()

void FastTimerService::preStreamBeginRun ( edm::StreamContext const &  sc)
private

Definition at line 932 of file FastTimerService.cc.

932 { ignoredSignal(__func__); }

◆ preStreamEndLumi()

void FastTimerService::preStreamEndLumi ( edm::StreamContext const &  sc)
private

Definition at line 1059 of file FastTimerService.cc.

1059 { ignoredSignal(__func__); }

◆ preStreamEndRun()

void FastTimerService::preStreamEndRun ( edm::StreamContext const &  sc)
private

Definition at line 1017 of file FastTimerService.cc.

1017 { ignoredSignal(__func__); }

◆ printEvent() [1/2]

template<typename T >
void FastTimerService::printEvent ( T out,
ResourcesPerJob const &   
) const
private

◆ printEvent() [2/2]

template<typename T >
void FastTimerService::printEvent ( T out,
ResourcesPerJob const &  data 
) const
private

Definition at line 1146 of file FastTimerService.cc.

1146  {
1147  printHeader(out, "Event");
1148  printEventHeader(out, "Modules");
1149  auto const& source_d = callgraph_.source();
1150  auto const& source = data.modules[source_d.id()];
1151  printEventLine(out, source.total, source_d.moduleLabel());
1152  for (unsigned int i = 0; i < callgraph_.processes().size(); ++i) {
1153  auto const& proc_d = callgraph_.processDescription(i);
1154  auto const& proc = data.processes[i];
1155  printEventLine(out, proc.total, "process " + proc_d.name_);
1156  for (unsigned int m : proc_d.modules_) {
1157  auto const& module_d = callgraph_.module(m);
1158  auto const& module = data.modules[m];
1159  printEventLine(out, module.total, " " + module_d.moduleLabel());
1160  }
1161  }
1162  printEventLine(out, data.total, "total");
1163  out << '\n';
1164  printEventHeader(out, "Processes and Paths");
1165  printEventLine(out, source.total, source_d.moduleLabel());
1166  for (unsigned int i = 0; i < callgraph_.processes().size(); ++i) {
1167  auto const& proc_d = callgraph_.processDescription(i);
1168  auto const& proc = data.processes[i];
1169  printEventLine(out, proc.total, "process " + proc_d.name_);
1170  for (unsigned int p = 0; p < proc.paths.size(); ++p) {
1171  auto const& name = proc_d.paths_[p].name_;
1172  auto const& path = proc.paths[p];
1173  printEventLine(out, path.active, name + " (only scheduled modules)");
1174  printEventLine(out, path.total, name + " (including dependencies)");
1175  }
1176  for (unsigned int p = 0; p < proc.endpaths.size(); ++p) {
1177  auto const& name = proc_d.endPaths_[p].name_;
1178  auto const& path = proc.endpaths[p];
1179  printEventLine(out, path.active, name + " (only scheduled modules)");
1180  printEventLine(out, path.total, name + " (including dependencies)");
1181  }
1182  }
1183  printEventLine(out, data.total, "total");
1184  out << '\n';
1185  for (unsigned int group : boost::irange(0ul, highlight_modules_.size())) {
1186  printEventHeader(out, "Highlighted modules");
1187  for (unsigned int m : highlight_modules_[group].modules) {
1188  auto const& module_d = callgraph_.module(m);
1189  auto const& module = data.modules[m];
1190  printEventLine(out, module.total, " " + module_d.moduleLabel());
1191  }
1192  printEventLine(out, data.highlight[group], highlight_modules_[group].label);
1193  out << '\n';
1194  }
1195 }

References data, watchdog::group, mps_fire::i, visualization-live-secondInstance_cfg::m, Skims_PA_cff::name, MillePedeFileConverter_cfg::out, AlCaHLTBitMon_ParallelJobs::p, castor_dqm_sourceclient_file_cfg::path, ValidateTausOnZEEFastSim_cff::proc, and source.

◆ printEventHeader() [1/2]

template<typename T >
void FastTimerService::printEventHeader ( T out,
std::string const &  label 
) const
private

◆ printEventHeader() [2/2]

template<typename T >
void FastTimerService::printEventHeader ( T out,
std::string const &  label 
) const
private

Definition at line 1120 of file FastTimerService.cc.

1120  {
1121  out << "FastReport CPU time Real time Allocated Deallocated " << label << "\n";
1122  // FastReport ########.# ms ########.# ms +######### kB -######### kB ...
1123 }

References label, and MillePedeFileConverter_cfg::out.

◆ printEventLine() [1/4]

template<typename T >
void FastTimerService::printEventLine ( T out,
AtomicResources const &  data,
std::string const &  label 
) const
private

◆ printEventLine() [2/4]

template<typename T >
void FastTimerService::printEventLine ( T out,
AtomicResources const &  data,
std::string const &  label 
) const
private

Definition at line 1136 of file FastTimerService.cc.

1136  {
1137  out << fmt::sprintf("FastReport %10.1f ms %10.1f ms %+10d kB %+10d kB %s\n",
1138  ms(boost::chrono::nanoseconds(data.time_thread.load())),
1139  ms(boost::chrono::nanoseconds(data.time_real.load())),
1140  +static_cast<int64_t>(kB(data.allocated)),
1141  -static_cast<int64_t>(kB(data.deallocated)),
1142  label);
1143 }

References data, label, and MillePedeFileConverter_cfg::out.

◆ printEventLine() [3/4]

template<typename T >
void FastTimerService::printEventLine ( T out,
Resources const &  data,
std::string const &  label 
) const
private

◆ printEventLine() [4/4]

template<typename T >
void FastTimerService::printEventLine ( T out,
Resources const &  data,
std::string const &  label 
) const
private

Definition at line 1126 of file FastTimerService.cc.

1126  {
1127  out << fmt::sprintf("FastReport %10.1f ms %10.1f ms %+10d kB %+10d kB %s\n",
1128  ms(data.time_thread),
1129  ms(data.time_real),
1130  +static_cast<int64_t>(kB(data.allocated)),
1131  -static_cast<int64_t>(kB(data.deallocated)),
1132  label);
1133 }

References data, label, and MillePedeFileConverter_cfg::out.

◆ printHeader() [1/2]

template<typename T >
void FastTimerService::printHeader ( T out,
std::string const &  label 
) const
private

◆ printHeader() [2/2]

template<typename T >
void FastTimerService::printHeader ( T out,
std::string const &  label 
) const
private

Definition at line 1107 of file FastTimerService.cc.

1107  {
1108  out << "FastReport ";
1109  if (label.size() < 60)
1110  for (unsigned int i = (60 - label.size()) / 2; i > 0; --i)
1111  out << '-';
1112  out << ' ' << label << " Summary ";
1113  if (label.size() < 60)
1114  for (unsigned int i = (59 - label.size()) / 2; i > 0; --i)
1115  out << '-';
1116  out << '\n';
1117 }

References mps_fire::i, label, and MillePedeFileConverter_cfg::out.

◆ printPathSummaryHeader() [1/2]

template<typename T >
void FastTimerService::printPathSummaryHeader ( T out,
std::string const &  label 
) const
private

◆ printPathSummaryHeader() [2/2]

template<typename T >
void FastTimerService::printPathSummaryHeader ( T out,
std::string const &  label 
) const
private

Definition at line 1211 of file FastTimerService.cc.

1211  {
1212  // clang-format off
1213  out << "FastReport CPU time sched. / depend. Real time sched. / depend. Alloc. sched. / depend. Dealloc. sched. / depend. ";
1214  // FastReport ########.# ms ########.# ms ########.# ms ########.# ms +######### kB +######### kB -######### kB -######### kB ...
1215  out << label << '\n';
1216  // clang-format on
1217 }

References label, and MillePedeFileConverter_cfg::out.

◆ printPathSummaryLine() [1/2]

template<typename T >
void FastTimerService::printPathSummaryLine ( T out,
Resources const &  data,
Resources const &  total,
uint64_t  events,
std::string const &  label 
) const
private

◆ printPathSummaryLine() [2/2]

template<typename T >
void FastTimerService::printPathSummaryLine ( T out,
Resources const &  data,
Resources const &  total,
uint64_t  events,
std::string const &  label 
) const
private

Definition at line 1283 of file FastTimerService.cc.

1284  {
1285  out << fmt::sprintf(
1286  "FastReport %10.1f ms %10.1f ms %10.1f ms %10.1f ms %+10d kB %+10d kB %+10d kB %+10d kB %s\n",
1287  (events ? ms(data.time_thread) / events : 0),
1288  (events ? ms(total.time_thread) / events : 0),
1289  (events ? ms(data.time_real) / events : 0),
1290  (events ? ms(total.time_real) / events : 0),
1291  (events ? +static_cast<int64_t>(kB(data.allocated) / events) : 0),
1292  (events ? +static_cast<int64_t>(kB(total.allocated) / events) : 0),
1293  (events ? -static_cast<int64_t>(kB(data.deallocated) / events) : 0),
1294  (events ? -static_cast<int64_t>(kB(total.deallocated) / events) : 0),
1295  label);
1296 }

References data, patZpeak::events, label, MillePedeFileConverter_cfg::out, and dqmMemoryStats::total.

◆ printSummary() [1/2]

template<typename T >
void FastTimerService::printSummary ( T out,
ResourcesPerJob const &  data,
std::string const &  label 
) const
private

◆ printSummary() [2/2]

template<typename T >
void FastTimerService::printSummary ( T out,
ResourcesPerJob const &  data,
std::string const &  label 
) const
private

Definition at line 1299 of file FastTimerService.cc.

1299  {
1300  printHeader(out, label);
1301  printSummaryHeader(out, "Modules", true);
1302  auto const& source_d = callgraph_.source();
1303  auto const& source = data.modules[source_d.id()];
1304  printSummaryLine(out, source.total, data.events, source.events, source_d.moduleLabel());
1305  for (unsigned int i = 0; i < callgraph_.processes().size(); ++i) {
1306  auto const& proc_d = callgraph_.processDescription(i);
1307  auto const& proc = data.processes[i];
1308  printSummaryLine(out, proc.total, data.events, "process " + proc_d.name_);
1309  for (unsigned int m : proc_d.modules_) {
1310  auto const& module_d = callgraph_.module(m);
1311  auto const& module = data.modules[m];
1312  printSummaryLine(out, module.total, data.events, module.events, " " + module_d.moduleLabel());
1313  }
1314  }
1315  printSummaryLine(out, data.total, data.events, "total");
1316  printSummaryLine(out, data.overhead, data.events, "other");
1317  out << '\n';
1318  printPathSummaryHeader(out, "Processes and Paths");
1319  printSummaryLine(out, source.total, data.events, source_d.moduleLabel());
1320  for (unsigned int i = 0; i < callgraph_.processes().size(); ++i) {
1321  auto const& proc_d = callgraph_.processDescription(i);
1322  auto const& proc = data.processes[i];
1323  printSummaryLine(out, proc.total, data.events, "process " + proc_d.name_);
1324  for (unsigned int p = 0; p < proc.paths.size(); ++p) {
1325  auto const& name = proc_d.paths_[p].name_;
1326  auto const& path = proc.paths[p];
1327  printPathSummaryLine(out, path.active, path.total, data.events, " " + name);
1328  }
1329  for (unsigned int p = 0; p < proc.endpaths.size(); ++p) {
1330  auto const& name = proc_d.endPaths_[p].name_;
1331  auto const& path = proc.endpaths[p];
1332  printPathSummaryLine(out, path.active, path.total, data.events, " " + name);
1333  }
1334  }
1335  printSummaryLine(out, data.total, data.events, "total");
1336  printSummaryLine(out, data.overhead, data.events, "other");
1337  out << '\n';
1338  for (unsigned int group : boost::irange(0ul, highlight_modules_.size())) {
1339  printSummaryHeader(out, "Highlighted modules", true);
1340  for (unsigned int m : highlight_modules_[group].modules) {
1341  auto const& module_d = callgraph_.module(m);
1342  auto const& module = data.modules[m];
1343  printSummaryLine(out, module.total, data.events, module.events, module_d.moduleLabel());
1344  }
1345  printSummaryLine(out, data.highlight[group], data.events, highlight_modules_[group].label);
1346  out << '\n';
1347  }
1348 }

References data, watchdog::group, mps_fire::i, label, visualization-live-secondInstance_cfg::m, Skims_PA_cff::name, MillePedeFileConverter_cfg::out, AlCaHLTBitMon_ParallelJobs::p, castor_dqm_sourceclient_file_cfg::path, ValidateTausOnZEEFastSim_cff::proc, and source.

◆ printSummaryHeader() [1/2]

template<typename T >
void FastTimerService::printSummaryHeader ( T out,
std::string const &  label,
bool  detailed 
) const
private

◆ printSummaryHeader() [2/2]

template<typename T >
void FastTimerService::printSummaryHeader ( T out,
std::string const &  label,
bool  detailed 
) const
private

Definition at line 1198 of file FastTimerService.cc.

1198  {
1199  // clang-format off
1200  if (detailed)
1201  out << "FastReport CPU time avg. when run Real time avg. when run Alloc. avg. when run Dealloc. avg. when run ";
1202  // FastReport ########.# ms ########.# ms ########.# ms ########.# ms +######### kB +######### kB -######### kB -######### kB ...
1203  else
1204  out << "FastReport CPU time avg. Real time avg. Alloc. avg. Dealloc. avg. ";
1205  // FastReport ########.# ms ########.# ms +######### kB -######### kB ...
1206  out << label << '\n';
1207  // clang-format on
1208 }

References label, and MillePedeFileConverter_cfg::out.

◆ printSummaryLine() [1/8]

template<typename T >
void FastTimerService::printSummaryLine ( T out,
AtomicResources const &  data,
uint64_t  events,
std::string const &  label 
) const
private

◆ printSummaryLine() [2/8]

template<typename T >
void FastTimerService::printSummaryLine ( T out,
AtomicResources const &  data,
uint64_t  events,
std::string const &  label 
) const
private

Definition at line 1251 of file FastTimerService.cc.

1254  {
1255  out << fmt::sprintf(
1256  // clang-format off
1257  "FastReport %10.1f ms %10.1f ms %+10d kB %+10d kB %s\n",
1258  // clang-format on
1259  (events ? ms(data.time_thread) / events : 0),
1260  (events ? ms(data.time_real) / events : 0),
1261  (events ? +static_cast<int64_t>(kB(data.allocated) / events) : 0),
1262  (events ? -static_cast<int64_t>(kB(data.deallocated) / events) : 0),
1263  label);
1264 }

References data, patZpeak::events, label, and MillePedeFileConverter_cfg::out.

◆ printSummaryLine() [3/8]

template<typename T >
void FastTimerService::printSummaryLine ( T out,
AtomicResources const &  data,
uint64_t  events,
uint64_t  active,
std::string const &  label 
) const
private

◆ printSummaryLine() [4/8]

template<typename T >
void FastTimerService::printSummaryLine ( T out,
AtomicResources const &  data,
uint64_t  events,
uint64_t  active,
std::string const &  label 
) const
private

Definition at line 1233 of file FastTimerService.cc.

1234  {
1235  out << fmt::sprintf(
1236  // clang-format off
1237  "FastReport %10.1f ms %10.1f ms %10.1f ms %10.1f ms %+10d kB %+10d kB %+10d kB %+10d kB %s\n",
1238  // clang-format on
1239  (events ? ms(data.time_thread) / events : 0),
1240  (active ? ms(data.time_thread) / active : 0),
1241  (events ? ms(data.time_real) / events : 0),
1242  (active ? ms(data.time_real) / active : 0),
1243  (events ? +static_cast<int64_t>(kB(data.allocated) / events) : 0),
1244  (active ? +static_cast<int64_t>(kB(data.allocated) / active) : 0),
1245  (events ? -static_cast<int64_t>(kB(data.deallocated) / events) : 0),
1246  (active ? -static_cast<int64_t>(kB(data.deallocated) / active) : 0),
1247  label);
1248 }

References data, patZpeak::events, label, and MillePedeFileConverter_cfg::out.

◆ printSummaryLine() [5/8]

template<typename T >
void FastTimerService::printSummaryLine ( T out,
Resources const &  data,
uint64_t  events,
std::string const &  label 
) const
private

◆ printSummaryLine() [6/8]

template<typename T >
void FastTimerService::printSummaryLine ( T out,
Resources const &  data,
uint64_t  events,
std::string const &  label 
) const
private

Definition at line 1220 of file FastTimerService.cc.

1220  {
1221  out << fmt::sprintf(
1222  // clang-format off
1223  "FastReport %10.1f ms %10.1f ms %+10d kB %+10d kB %s\n",
1224  // clang-format on
1225  (events ? ms(data.time_thread) / events : 0),
1226  (events ? ms(data.time_real) / events : 0),
1227  (events ? +static_cast<int64_t>(kB(data.allocated) / events) : 0),
1228  (events ? -static_cast<int64_t>(kB(data.deallocated) / events) : 0),
1229  label);
1230 }

References data, patZpeak::events, label, and MillePedeFileConverter_cfg::out.

◆ printSummaryLine() [7/8]

template<typename T >
void FastTimerService::printSummaryLine ( T out,
Resources const &  data,
uint64_t  events,
uint64_t  active,
std::string const &  label 
) const
private

◆ printSummaryLine() [8/8]

template<typename T >
void FastTimerService::printSummaryLine ( T out,
Resources const &  data,
uint64_t  events,
uint64_t  active,
std::string const &  label 
) const
private

Definition at line 1267 of file FastTimerService.cc.

1268  {
1269  out << fmt::sprintf(
1270  "FastReport %10.1f ms %10.1f ms %10.1f ms %10.1f ms %+10d kB %+10d kB %+10d kB %+10d kB %s\n",
1271  (events ? ms(data.time_thread) / events : 0),
1272  (active ? ms(data.time_thread) / active : 0),
1273  (events ? ms(data.time_real) / events : 0),
1274  (active ? ms(data.time_real) / active : 0),
1275  (events ? +static_cast<int64_t>(kB(data.allocated) / events) : 0),
1276  (active ? +static_cast<int64_t>(kB(data.allocated) / active) : 0),
1277  (events ? -static_cast<int64_t>(kB(data.deallocated) / events) : 0),
1278  (active ? -static_cast<int64_t>(kB(data.deallocated) / active) : 0),
1279  label);
1280 }

References data, patZpeak::events, label, and MillePedeFileConverter_cfg::out.

◆ printTransition() [1/2]

template<typename T >
void FastTimerService::printTransition ( T out,
AtomicResources const &  data,
std::string const &  label 
) const
private

◆ printTransition() [2/2]

template<typename T >
void FastTimerService::printTransition ( T out,
AtomicResources const &  data,
std::string const &  label 
) const
private

Definition at line 1351 of file FastTimerService.cc.

1351  {
1352  printEventHeader(out, "Transition");
1354 }

References data, label, and MillePedeFileConverter_cfg::out.

◆ thread()

FastTimerService::Measurement & FastTimerService::thread ( )
private

Definition at line 1670 of file FastTimerService.cc.

1670 { return threads_.local(); }

◆ unsupportedSignal()

void FastTimerService::unsupportedSignal ( const std::string &  signal) const
private

Definition at line 884 of file FastTimerService.cc.

884  {
885  // warn about each signal only once per job
886  if (unsupported_signals_.insert(signal).second)
887  edm::LogWarning("FastTimerService") << "The FastTimerService received the unsupported signal \"" << signal
888  << "\".\n"
889  << "Please report how to reproduce the issue to cms-hlt@cern.ch .";
890 }

◆ writeSummaryJSON()

void FastTimerService::writeSummaryJSON ( ResourcesPerJob const &  data,
std::string const &  filename 
) const
private

Definition at line 1374 of file FastTimerService.cc.

1374  {
1375  json j;
1376 
1377  // write a description of the resources
1378  j["resources"] = json::array({json{{"time_real", "real time"}},
1379  json{{"time_thread", "cpu time"}},
1380  json{{"mem_alloc", "allocated memory"}},
1381  json{{"mem_free", "deallocated memory"}}});
1382 
1383  // write the resources used by the job
1384  j["total"] = encodeToJSON("Job", callgraph_.processDescription(0).name_, data.events, data.total + data.overhead);
1385 
1386  // write the resources used by every module
1387  j["modules"] = json::array();
1388  for (unsigned int i = 0; i < callgraph_.size(); ++i) {
1389  auto const& module = callgraph_.module(i);
1390  auto const& data_m = data.modules[i];
1391  j["modules"].push_back(encodeToJSON(module, data_m));
1392  }
1393 
1394  // add an entry for the "overhead"
1395  j["modules"].push_back(encodeToJSON("other", "other", data.events, data.overhead));
1396 
1397  std::ofstream out(filename);
1398  out << std::setw(2) << j << std::flush;
1399 }

References mps_check::array, data, corrVsCorr::filename, mps_fire::i, dqmiolumiharvest::j, and MillePedeFileConverter_cfg::out.

Member Data Documentation

◆ callgraph_

ProcessCallGraph FastTimerService::callgraph_
private

Definition at line 440 of file FastTimerService.h.

◆ concurrent_lumis_

unsigned int FastTimerService::concurrent_lumis_
private

Definition at line 471 of file FastTimerService.h.

◆ concurrent_runs_

unsigned int FastTimerService::concurrent_runs_
private

Definition at line 472 of file FastTimerService.h.

◆ concurrent_streams_

unsigned int FastTimerService::concurrent_streams_
private

Definition at line 473 of file FastTimerService.h.

◆ concurrent_threads_

unsigned int FastTimerService::concurrent_threads_
private

Definition at line 474 of file FastTimerService.h.

◆ dqm_event_ranges_

const PlotRanges FastTimerService::dqm_event_ranges_
private

Definition at line 496 of file FastTimerService.h.

◆ dqm_lumisections_range_

const unsigned int FastTimerService::dqm_lumisections_range_
private

Definition at line 499 of file FastTimerService.h.

◆ dqm_module_ranges_

const PlotRanges FastTimerService::dqm_module_ranges_
private

Definition at line 498 of file FastTimerService.h.

◆ dqm_path_

std::string FastTimerService::dqm_path_
private

Definition at line 500 of file FastTimerService.h.

◆ dqm_path_ranges_

const PlotRanges FastTimerService::dqm_path_ranges_
private

Definition at line 497 of file FastTimerService.h.

◆ enable_dqm_

bool FastTimerService::enable_dqm_
private

Definition at line 489 of file FastTimerService.h.

◆ enable_dqm_byls_

const bool FastTimerService::enable_dqm_byls_
private

Definition at line 492 of file FastTimerService.h.

◆ enable_dqm_bymodule_

const bool FastTimerService::enable_dqm_bymodule_
private

Definition at line 490 of file FastTimerService.h.

◆ enable_dqm_bynproc_

const bool FastTimerService::enable_dqm_bynproc_
private

Definition at line 493 of file FastTimerService.h.

◆ enable_dqm_bypath_

const bool FastTimerService::enable_dqm_bypath_
private

Definition at line 491 of file FastTimerService.h.

◆ enable_dqm_transitions_

const bool FastTimerService::enable_dqm_transitions_
private

Definition at line 494 of file FastTimerService.h.

◆ highlight_module_psets_

std::vector<edm::ParameterSet> FastTimerService::highlight_module_psets_
private

Definition at line 502 of file FastTimerService.h.

◆ highlight_modules_

std::vector<GroupOfModules> FastTimerService::highlight_modules_
private

Definition at line 503 of file FastTimerService.h.

◆ job_summary_

ResourcesPerJob FastTimerService::job_summary_
private

Definition at line 454 of file FastTimerService.h.

◆ json_filename_

const std::string FastTimerService::json_filename_
private

Definition at line 486 of file FastTimerService.h.

◆ lumi_transition_

std::vector<AtomicResources> FastTimerService::lumi_transition_
private

Definition at line 449 of file FastTimerService.h.

◆ overhead_

AtomicResources FastTimerService::overhead_
private

◆ plots_

std::unique_ptr<PlotsPerJob> FastTimerService::plots_
private

Definition at line 446 of file FastTimerService.h.

◆ print_event_summary_

const bool FastTimerService::print_event_summary_
private

Definition at line 477 of file FastTimerService.h.

◆ print_job_summary_

const bool FastTimerService::print_job_summary_
private

Definition at line 479 of file FastTimerService.h.

◆ print_run_summary_

const bool FastTimerService::print_run_summary_
private

Definition at line 478 of file FastTimerService.h.

◆ run_summary_

std::vector<ResourcesPerJob> FastTimerService::run_summary_
private

Definition at line 455 of file FastTimerService.h.

◆ run_transition_

std::vector<AtomicResources> FastTimerService::run_transition_
private

Definition at line 450 of file FastTimerService.h.

◆ streams_

std::vector<ResourcesPerJob> FastTimerService::streams_
private

Definition at line 443 of file FastTimerService.h.

◆ subprocess_event_check_

std::unique_ptr<std::atomic<unsigned int>[]> FastTimerService::subprocess_event_check_
private

Definition at line 463 of file FastTimerService.h.

◆ subprocess_global_lumi_check_

std::unique_ptr<std::atomic<unsigned int>[]> FastTimerService::subprocess_global_lumi_check_
private

Definition at line 464 of file FastTimerService.h.

◆ subprocess_global_run_check_

std::unique_ptr<std::atomic<unsigned int>[]> FastTimerService::subprocess_global_run_check_
private

Definition at line 465 of file FastTimerService.h.

◆ summary_mutex_

std::mutex FastTimerService::summary_mutex_
private

Definition at line 456 of file FastTimerService.h.

◆ threads_

tbb::enumerable_thread_specific<Measurement, tbb::cache_aligned_allocator<Measurement>, tbb::ets_key_per_instance> FastTimerService::threads_
private

Definition at line 460 of file FastTimerService.h.

◆ unsupported_signals_

tbb::concurrent_unordered_set<std::string> FastTimerService::unsupported_signals_
mutableprivate

Definition at line 506 of file FastTimerService.h.

◆ write_json_summary_

const bool FastTimerService::write_json_summary_
private

Definition at line 485 of file FastTimerService.h.

FastTimerService::enable_dqm_bynproc_
const bool enable_dqm_bynproc_
Definition: FastTimerService.h:493
SummaryClient_cfi.labels
labels
Definition: SummaryClient_cfi.py:61
FastTimerService::preSourceEvent
void preSourceEvent(edm::StreamID)
Definition: FastTimerService.cc:1468
FastTimerService::json_filename_
const std::string json_filename_
Definition: FastTimerService.h:486
edm::ModuleDescription::moduleLabel
std::string const & moduleLabel() const
Definition: ModuleDescription.h:43
FastTimerService::concurrent_threads_
unsigned int concurrent_threads_
Definition: FastTimerService.h:474
ProcessCallGraph::processes
const std::vector< ProcessType > & processes() const
Definition: ProcessCallGraph.cc:282
edm::ActivityRegistry::watchPostStreamEndLumi
void watchPostStreamEndLumi(PostStreamEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:449
edm::ActivityRegistry::watchPostModuleGlobalEndRun
void watchPostModuleGlobalEndRun(PostModuleGlobalEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:907
FastTimerService::postSourceEvent
void postSourceEvent(edm::StreamID)
Definition: FastTimerService.cc:1482
FastTimerService::preBeginJob
void preBeginJob(edm::PathsAndConsumesOfModulesBase const &, edm::ProcessContext const &)
Definition: FastTimerService.cc:971
FastTimerService::printEvent
void printEvent(T &out, ResourcesPerJob const &) const
FastTimerService::preModuleStreamBeginLumi
void preModuleStreamBeginLumi(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1642
FastTimerService::callgraph_
ProcessCallGraph callgraph_
Definition: FastTimerService.h:440
mps_fire.i
i
Definition: mps_fire.py:428
LogMessageMonitor_cff.modules
modules
Definition: LogMessageMonitor_cff.py:7
FastTimerService::streams_
std::vector< ResourcesPerJob > streams_
Definition: FastTimerService.h:443
FastTimerService::preModuleGlobalBeginRun
void preModuleGlobalBeginRun(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1588
FastTimerService::concurrent_streams_
unsigned int concurrent_streams_
Definition: FastTimerService.h:473
FastTimerService::preSourceLumi
void preSourceLumi(edm::LuminosityBlockIndex)
Definition: FastTimerService.cc:1090
FastTimerService::Measurement::measure
void measure() noexcept
Definition: FastTimerService.cc:308
FastTimerService::highlight_module_psets_
std::vector< edm::ParameterSet > highlight_module_psets_
Definition: FastTimerService.h:502
edm::ActivityRegistry::watchPostSourceRun
void watchPostSourceRun(PostSourceRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:213
edm::ActivityRegistry::watchPreSourceLumi
void watchPreSourceLumi(PreSourceLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:195
edm::ActivityRegistry::watchPostGlobalEndRun
void watchPostGlobalEndRun(PostGlobalEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:333
cond::time::nanoseconds
boost::date_time::subsecond_duration< boost::posix_time::time_duration, 1000000000 > nanoseconds
Definition: TimeConversions.h:16
edm::ActivityRegistry::watchPostModuleStreamBeginLumi
void watchPostModuleStreamBeginLumi(PostModuleStreamBeginLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:822
mps_update.status
status
Definition: mps_update.py:69
FastTimerService::postEvent
void postEvent(edm::StreamContext const &)
Definition: FastTimerService.cc:1420
modules
Definition: ZHLTMatchFilter.cc:17
FastTimerService::postModuleEvent
void postModuleEvent(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1549
FastTimerService::print_job_summary_
const bool print_job_summary_
Definition: FastTimerService.h:479
FastTimerService::preSourceConstruction
void preSourceConstruction(edm::ModuleDescription const &)
Definition: FastTimerService.cc:967
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
FastTimerService::preGlobalBeginLumi
void preGlobalBeginLumi(edm::GlobalContext const &)
Definition: FastTimerService.cc:1021
cms::cuda::stream
cudaStream_t stream
Definition: HistoContainer.h:57
FastTimerService::postEndJob
void postEndJob()
Definition: FastTimerService.cc:1096
FastTimerService::overhead_
AtomicResources overhead_
Definition: FastTimerService.h:451
edm::ActivityRegistry::watchPostGlobalEndLumi
void watchPostGlobalEndLumi(PostGlobalEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:409
FastTimerService::concurrent_runs_
unsigned int concurrent_runs_
Definition: FastTimerService.h:472
FastTimerService::enable_dqm_bypath_
const bool enable_dqm_bypath_
Definition: FastTimerService.h:491
FastTimerService::run_summary_
std::vector< ResourcesPerJob > run_summary_
Definition: FastTimerService.h:455
edm::ParameterSetDescription
Definition: ParameterSetDescription.h:52
dqm::implementation::NavigatorBase::setCurrentFolder
virtual void setCurrentFolder(std::string const &fullpath)
Definition: DQMStore.cc:32
FastTimerService::postModuleStreamEndRun
void postModuleStreamEndRun(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1637
FastTimerService::enable_dqm_transitions_
const bool enable_dqm_transitions_
Definition: FastTimerService.h:494
FastTimerService::writeSummaryJSON
void writeSummaryJSON(ResourcesPerJob const &data, std::string const &filename) const
Definition: FastTimerService.cc:1374
FastTimerService::dqm_module_ranges_
const PlotRanges dqm_module_ranges_
Definition: FastTimerService.h:498
FastTimerService::job_summary_
ResourcesPerJob job_summary_
Definition: FastTimerService.h:454
FastTimerService::concurrent_lumis_
unsigned int concurrent_lumis_
Definition: FastTimerService.h:471
FastTimerService::dqm_event_ranges_
const PlotRanges dqm_event_ranges_
Definition: FastTimerService.h:496
FastTimerService::preGlobalBeginRun
void preGlobalBeginRun(edm::GlobalContext const &)
Definition: FastTimerService.cc:892
edm::ActivityRegistry::watchPostModuleGlobalBeginRun
void watchPostModuleGlobalBeginRun(PostModuleGlobalBeginRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:893
FastTimerService::isLastSubprocess
bool isLastSubprocess(std::atomic< unsigned int > &check)
Definition: FastTimerService.cc:1411
mps_check.array
array
Definition: mps_check.py:216
ProcessCallGraph::processDescription
const ProcessType & processDescription(unsigned int) const
Definition: ProcessCallGraph.cc:285
edm::ActivityRegistry::watchPostModuleStreamEndRun
void watchPostModuleStreamEndRun(PostModuleStreamEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:808
FastTimerService::postSourceLumi
void postSourceLumi(edm::LuminosityBlockIndex)
Definition: FastTimerService.cc:1092
FastTimerService::preModuleEvent
void preModuleEvent(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1543
FastTimerService::unsupportedSignal
void unsupportedSignal(const std::string &signal) const
Definition: FastTimerService.cc:884
FastTimerService::preModuleEventAcquire
void preModuleEventAcquire(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1526
FastTimerService::encodeToJSON
json encodeToJSON(std::string const &type, std::string const &label, unsigned int events, T const &data) const
edm::ActivityRegistry::watchPreModuleStreamBeginRun
void watchPreModuleStreamBeginRun(PreModuleStreamBeginRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:787
edm::ActivityRegistry::watchPreStreamBeginRun
void watchPreStreamBeginRun(PreStreamBeginRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:366
patZpeak.events
events
Definition: patZpeak.py:20
FastTimerService::subprocess_global_run_check_
std::unique_ptr< std::atomic< unsigned int >[]> subprocess_global_run_check_
Definition: FastTimerService.h:465
groupFilesInBlocks.temp
list temp
Definition: groupFilesInBlocks.py:142
ProcessCallGraph::ProcessType::paths_
std::vector< PathType > paths_
Definition: ProcessCallGraph.h:82
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
FastTimerService::enable_dqm_
bool enable_dqm_
Definition: FastTimerService.h:489
FastTimerService::subprocess_global_lumi_check_
std::unique_ptr< std::atomic< unsigned int >[]> subprocess_global_lumi_check_
Definition: FastTimerService.h:464
FastTimerService::dqm_path_
std::string dqm_path_
Definition: FastTimerService.h:500
FastTimerService::printTransition
void printTransition(T &out, AtomicResources const &data, std::string const &label) const
FastTimerService::preallocate
void preallocate(edm::service::SystemBounds const &)
Definition: FastTimerService.cc:934
edm::ModuleDescription
Definition: ModuleDescription.h:21
FastTimerService::printSummaryHeader
void printSummaryHeader(T &out, std::string const &label, bool detailed) const
ProcessCallGraph::size
unsigned int size() const
Definition: ProcessCallGraph.cc:146
FastTimerService::print_run_summary_
const bool print_run_summary_
Definition: FastTimerService.h:478
edm::ActivityRegistry::watchPostSourceEvent
void watchPostSourceEvent(PostSourceEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:189
FastTimerService::postModuleGlobalBeginRun
void postModuleGlobalBeginRun(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1592
FastTimerService::ignoredSignal
void ignoredSignal(const std::string &signal) const
Definition: FastTimerService.cc:879
FastTimerService::highlight_modules_
std::vector< GroupOfModules > highlight_modules_
Definition: FastTimerService.h:503
config
Definition: config.py:1
FastTimerService::postGlobalEndRun
void postGlobalEndRun(edm::GlobalContext const &)
Definition: FastTimerService.cc:1065
FastTimerService::dqm_path_ranges_
const PlotRanges dqm_path_ranges_
Definition: FastTimerService.h:497
edm::ActivityRegistry::watchPreModuleGlobalBeginLumi
void watchPreModuleGlobalBeginLumi(PreModuleGlobalBeginLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:914
alignCSCRings.s
s
Definition: alignCSCRings.py:92
FastTimerService::lumi_transition_
std::vector< AtomicResources > lumi_transition_
Definition: FastTimerService.h:449
FastTimerService::postModuleGlobalEndLumi
void postModuleGlobalEndLumi(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1619
edm::ActivityRegistry::watchPreModuleStreamEndLumi
void watchPreModuleStreamEndLumi(PreModuleStreamEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:829
RPCNoise_example.check
check
Definition: RPCNoise_example.py:71
dqmdumpme.last
last
Definition: dqmdumpme.py:56
FastTimerService::postModuleStreamEndLumi
void postModuleStreamEndLumi(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1655
edm::ActivityRegistry::watchPostEndJob
void watchPostEndJob(PostEndJob::slot_type const &iSlot)
Definition: ActivityRegistry.h:169
edm::ActivityRegistry::watchPreStreamBeginLumi
void watchPreStreamBeginLumi(PreStreamBeginLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:430
FastTimerService::preStreamBeginLumi
void preStreamBeginLumi(edm::StreamContext const &)
Definition: FastTimerService.cc:1055
edm::ConfigurationDescriptions::add
void add(std::string const &label, ParameterSetDescription const &psetDescription)
Definition: ConfigurationDescriptions.cc:57
FastTimerService::postModuleGlobalEndRun
void postModuleGlobalEndRun(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1601
FastTimerService::enable_dqm_byls_
const bool enable_dqm_byls_
Definition: FastTimerService.h:492
edm::ActivityRegistry::watchPreBeginJob
void watchPreBeginJob(PreBeginJob::slot_type const &iSlot)
convenience function for attaching to signal
Definition: ActivityRegistry.h:150
ProcessCallGraph::ProcessType::name_
std::string name_
Definition: ProcessCallGraph.h:79
FastTimerService::preModuleGlobalBeginLumi
void preModuleGlobalBeginLumi(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1606
edm::ActivityRegistry::watchPostModuleEventDelayedGet
void watchPostModuleEventDelayedGet(PostModuleEventDelayedGet::slot_type const &iSlot)
Definition: ActivityRegistry.h:764
FastTimerService::preStreamBeginRun
void preStreamBeginRun(edm::StreamContext const &)
Definition: FastTimerService.cc:932
FastTimerService::postModuleStreamBeginRun
void postModuleStreamBeginRun(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1628
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:72
edm::ActivityRegistry::watchPreEvent
void watchPreEvent(PreEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:457
FastTimerService::isFirstSubprocess
bool isFirstSubprocess(edm::StreamContext const &)
source
static const std::string source
Definition: EdmProvDump.cc:47
FastTimerService::preModuleStreamEndRun
void preModuleStreamEndRun(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1633
corrVsCorr.filename
filename
Definition: corrVsCorr.py:123
edm::ActivityRegistry::watchPostBeginJob
void watchPostBeginJob(PostBeginJob::slot_type const &iSlot)
convenience function for attaching to signal
Definition: ActivityRegistry.h:157
edm::ActivityRegistry::watchPreModuleStreamBeginLumi
void watchPreModuleStreamBeginLumi(PreModuleStreamBeginLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:815
FastTimerService::plots_
std::unique_ptr< PlotsPerJob > plots_
Definition: FastTimerService.h:446
FastTimerService::printSummaryLine
void printSummaryLine(T &out, Resources const &data, uint64_t events, std::string const &label) const
FastTimerService::printEventHeader
void printEventHeader(T &out, std::string const &label) const
ProcessCallGraph::ProcessType::endPaths_
std::vector< PathType > endPaths_
Definition: ProcessCallGraph.h:83
edm::ActivityRegistry::watchPreSourceConstruction
void watchPreSourceConstruction(PreSourceConstruction::slot_type const &iSlot)
Definition: ActivityRegistry.h:1063
edm::ActivityRegistry::watchPreSourceRun
void watchPreSourceRun(PreSourceRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:207
FastTimerService::unsupported_signals_
tbb::concurrent_unordered_set< std::string > unsupported_signals_
Definition: FastTimerService.h:506
FastTimerService::threads_
tbb::enumerable_thread_specific< Measurement, tbb::cache_aligned_allocator< Measurement >, tbb::ets_key_per_instance > threads_
Definition: FastTimerService.h:460
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::ActivityRegistry::watchPostSourceLumi
void watchPostSourceLumi(PostSourceLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:201
FastTimerService::preModuleStreamEndLumi
void preModuleStreamEndLumi(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1651
edm::ParameterSetDescription::addUntracked
ParameterDescriptionBase * addUntracked(U const &iLabel, T const &value)
Definition: ParameterSetDescription.h:100
edm::ActivityRegistry::watchPreModuleGlobalEndLumi
void watchPreModuleGlobalEndLumi(PreModuleGlobalEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:928
FastTimerService::postModuleEventAcquire
void postModuleEventAcquire(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1532
edm::ActivityRegistry::watchPreModuleStreamEndRun
void watchPreModuleStreamEndRun(PreModuleStreamEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:801
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:223
edm::ActivityRegistry::watchPostEvent
void watchPostEvent(PostEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:463
FastTimerService::summary_mutex_
std::mutex summary_mutex_
Definition: FastTimerService.h:456
ValidateTausOnZEEFastSim_cff.proc
proc
Definition: ValidateTausOnZEEFastSim_cff.py:6
FastTimerService::write_json_summary_
const bool write_json_summary_
Definition: FastTimerService.h:485
edm::ActivityRegistry::watchPostModuleGlobalEndLumi
void watchPostModuleGlobalEndLumi(PostModuleGlobalEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:935
FastTimerService::preModuleGlobalEndRun
void preModuleGlobalEndRun(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1597
type
type
Definition: SiPixelVCal_PayloadInspector.cc:37
LaserDQM_cfg.process
process
Definition: LaserDQM_cfg.py:3
FastTimerService::dqm_lumisections_range_
const unsigned int dqm_lumisections_range_
Definition: FastTimerService.h:499
FastTimerService::postModuleStreamBeginLumi
void postModuleStreamBeginLumi(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1646
FastTimerService::Measurement::measure_and_store
void measure_and_store(Resources &store) noexcept
Definition: FastTimerService.cc:318
edm::Service
Definition: Service.h:30
FastTimerService::Measurement::measure_and_accumulate
void measure_and_accumulate(Resources &store) noexcept
Definition: FastTimerService.cc:336
FastTimerService::preModuleGlobalEndLumi
void preModuleGlobalEndLumi(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1615
edm::ActivityRegistry::watchPostPathEvent
void watchPostPathEvent(PostPathEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:475
edm::ActivityRegistry::watchPreModuleGlobalEndRun
void watchPreModuleGlobalEndRun(PreModuleGlobalEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:900
FastTimerService::postModuleGlobalBeginLumi
void postModuleGlobalBeginLumi(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1610
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
edm::ActivityRegistry::watchPostModuleStreamEndLumi
void watchPostModuleStreamEndLumi(PostModuleStreamEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:836
FastTimerService::postStreamEndLumi
void postStreamEndLumi(edm::StreamContext const &)
Definition: FastTimerService.cc:1061
FastTimerService::printPathSummaryLine
void printPathSummaryLine(T &out, Resources const &data, Resources const &total, uint64_t events, std::string const &label) const
FastTimerService::subprocess_event_check_
std::unique_ptr< std::atomic< unsigned int >[]> subprocess_event_check_
Definition: FastTimerService.h:463
edm::ActivityRegistry::watchPreallocate
void watchPreallocate(Preallocate::slot_type const &iSlot)
Definition: ActivityRegistry.h:143
ProcessCallGraph::source
const edm::ModuleDescription & source() const
Definition: ProcessCallGraph.cc:149
FastTimerService::preModuleStreamBeginRun
void preModuleStreamBeginRun(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1624
FastTimerService::thread
Measurement & thread()
Definition: FastTimerService.cc:1670
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
edm::ActivityRegistry::watchPreGlobalBeginLumi
void watchPreGlobalBeginLumi(PreGlobalBeginLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:390
edm::ActivityRegistry::watchPostModuleEvent
void watchPostModuleEvent(PostModuleEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:734
edm::ActivityRegistry::watchPreModuleGlobalBeginRun
void watchPreModuleGlobalBeginRun(PreModuleGlobalBeginRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:886
FastTimerService::prePathEvent
void prePathEvent(edm::StreamContext const &, edm::PathContext const &)
Definition: FastTimerService.cc:1492
FastTimerService::postPathEvent
void postPathEvent(edm::StreamContext const &, edm::PathContext const &, edm::HLTPathStatus const &)
Definition: FastTimerService.cc:1502
FastTimerService::postGlobalEndLumi
void postGlobalEndLumi(edm::GlobalContext const &)
Definition: FastTimerService.cc:1036
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:31
dqm::implementation::IGetter
Definition: DQMStore.h:484
edm::ActivityRegistry::watchPostModuleEventAcquire
void watchPostModuleEventAcquire(PostModuleEventAcquire::slot_type const &iSlot)
Definition: ActivityRegistry.h:748
FastTimerService::preModuleEventDelayedGet
void preModuleEventDelayedGet(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1564
edm::ActivityRegistry::watchPreSourceEvent
void watchPreSourceEvent(PreSourceEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:183
dqm::implementation::IBooker::UseRunScope
UseScope< MonitorElementData::Scope::RUN > UseRunScope
Definition: DQMStore.h:464
Skims_PA_cff.name
name
Definition: Skims_PA_cff.py:17
FastTimerService::postModuleEventDelayedGet
void postModuleEventDelayedGet(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1568
data
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
dqm::implementation::IBooker
Definition: DQMStore.h:43
edm::ActivityRegistry::watchPostModuleGlobalBeginLumi
void watchPostModuleGlobalBeginLumi(PostModuleGlobalBeginLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:921
AlignmentPI::index
index
Definition: AlignmentPayloadInspectorHelper.h:46
dqmMemoryStats.total
total
Definition: dqmMemoryStats.py:152
FastTimerService::printHeader
void printHeader(T &out, std::string const &label) const
MillePedeFileConverter_cfg.out
out
Definition: MillePedeFileConverter_cfg.py:31
FastTimerService::printSummary
void printSummary(T &out, ResourcesPerJob const &data, std::string const &label) const
castor_dqm_sourceclient_file_cfg.path
path
Definition: castor_dqm_sourceclient_file_cfg.py:37
ProcessCallGraph::processId
unsigned int processId(edm::ProcessContext const &) const
Definition: ProcessCallGraph.cc:262
edm::ActivityRegistry::watchPreGlobalBeginRun
void watchPreGlobalBeginRun(PreGlobalBeginRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:316
FastTimerService::postSourceRun
void postSourceRun(edm::RunIndex)
Definition: FastTimerService.cc:1088
edm::ActivityRegistry::watchPrePathEvent
void watchPrePathEvent(PrePathEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:469
processor_model
const std::string processor_model
Definition: processor_model.cc:47
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
ProcessCallGraph::module
const edm::ModuleDescription & module(unsigned int module) const
Definition: ProcessCallGraph.cc:152
FastTimerService::printEventLine
void printEventLine(T &out, Resources const &data, std::string const &label) const
edm::ActivityRegistry::watchPreModuleEventAcquire
void watchPreModuleEventAcquire(PreModuleEventAcquire::slot_type const &iSlot)
Definition: ActivityRegistry.h:740
edm::Log
Definition: MessageLogger.h:70
edm::ParameterDescription
Definition: ParameterDescription.h:110
json
nlohmann::json json
Definition: FastTimerService.cc:21
FastTimerService::run_transition_
std::vector< AtomicResources > run_transition_
Definition: FastTimerService.h:450
edm::ActivityRegistry::watchPreModuleEventDelayedGet
void watchPreModuleEventDelayedGet(PreModuleEventDelayedGet::slot_type const &iSlot)
Definition: ActivityRegistry.h:756
ProcessCallGraph::preBeginJob
void preBeginJob(edm::PathsAndConsumesOfModulesBase const &, edm::ProcessContext const &)
Definition: ProcessCallGraph.cc:65
label
const char * label
Definition: PFTauDecayModeTools.cc:11
edm::ActivityRegistry::watchPostModuleStreamBeginRun
void watchPostModuleStreamBeginRun(PostModuleStreamBeginRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:794
FastTimerService::preSourceRun
void preSourceRun(edm::RunIndex)
Definition: FastTimerService.cc:1086
edm::ActivityRegistry::watchPostStreamEndRun
void watchPostStreamEndRun(PostStreamEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:383
FastTimerService::print_event_summary_
const bool print_event_summary_
Definition: FastTimerService.h:477
FastTimerService::enable_dqm_bymodule_
const bool enable_dqm_bymodule_
Definition: FastTimerService.h:490
FastTimerService::postStreamEndRun
void postStreamEndRun(edm::StreamContext const &)
Definition: FastTimerService.cc:1019
FastTimerService::preEvent
void preEvent(edm::StreamContext const &)
Definition: FastTimerService.cc:1418
edm::ActivityRegistry::watchPreModuleEvent
void watchPreModuleEvent(PreModuleEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:728
FastTimerService::printPathSummaryHeader
void printPathSummaryHeader(T &out, std::string const &label) const
edm::ModuleDescription::id
unsigned int id() const
Definition: ModuleDescription.h:46
watchdog.group
group
Definition: watchdog.py:82
FastTimerService::postBeginJob
void postBeginJob()
Definition: FastTimerService.cc:976
ProcessCallGraph::preSourceConstruction
void preSourceConstruction(edm::ModuleDescription const &)
Definition: ProcessCallGraph.cc:52