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 761 of file FastTimerService.cc.

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

◆ ~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 1347 of file FastTimerService.cc.

1347  {
1348  return encodeToJSON(module.moduleName(), module.moduleLabel(), data.events, data.total);
1349 }

References data.

◆ 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 1334 of file FastTimerService.cc.

1337  {
1338  return json{{"type", type},
1339  {"label", label},
1340  {"events", events},
1341  {"time_thread", ms(data.time_thread)},
1342  {"time_real", ms(data.time_real)},
1343  {"mem_alloc", kB(data.allocated)},
1344  {"mem_free", kB(data.deallocated)}};
1345 }

References data, patZpeak::events, and label.

◆ fillDescriptions()

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

Definition at line 1650 of file FastTimerService.cc.

1650  {
1652  desc.addUntracked<bool>("printEventSummary", false);
1653  desc.addUntracked<bool>("printRunSummary", true);
1654  desc.addUntracked<bool>("printJobSummary", true);
1655  // JSON configuration
1656  //desc.addUntracked<bool>("writeJSONByEvent", false);
1657  //desc.addUntracked<bool>("writeJSONByLumiSection", false);
1658  //desc.addUntracked<bool>("writeJSONByRun", false);
1659  desc.addUntracked<bool>("writeJSONSummary", false);
1660  desc.addUntracked<std::string>("jsonFileName", "resources.json");
1661  // DQM configuration
1662  desc.addUntracked<bool>("enableDQM", true);
1663  desc.addUntracked<bool>("enableDQMbyModule", false);
1664  desc.addUntracked<bool>("enableDQMbyPath", false);
1665  desc.addUntracked<bool>("enableDQMbyLumiSection", false);
1666  desc.addUntracked<bool>("enableDQMbyProcesses", false);
1667  desc.addUntracked<bool>("enableDQMTransitions", false);
1668  desc.addUntracked<double>("dqmTimeRange", 1000.); // ms
1669  desc.addUntracked<double>("dqmTimeResolution", 5.); // ms
1670  desc.addUntracked<double>("dqmMemoryRange", 1000000.); // kB
1671  desc.addUntracked<double>("dqmMemoryResolution", 5000.); // kB
1672  desc.addUntracked<double>("dqmPathTimeRange", 100.); // ms
1673  desc.addUntracked<double>("dqmPathTimeResolution", 0.5); // ms
1674  desc.addUntracked<double>("dqmPathMemoryRange", 1000000.); // kB
1675  desc.addUntracked<double>("dqmPathMemoryResolution", 5000.); // kB
1676  desc.addUntracked<double>("dqmModuleTimeRange", 40.); // ms
1677  desc.addUntracked<double>("dqmModuleTimeResolution", 0.2); // ms
1678  desc.addUntracked<double>("dqmModuleMemoryRange", 100000.); // kB
1679  desc.addUntracked<double>("dqmModuleMemoryResolution", 500.); // kB
1680  desc.addUntracked<unsigned>("dqmLumiSectionsRange", 2500); // ~ 16 hours
1681  desc.addUntracked<std::string>("dqmPath", "HLT/TimerService");
1682 
1683  edm::ParameterSetDescription highlightModulesDescription;
1684  highlightModulesDescription.addUntracked<std::vector<std::string>>("modules", {});
1685  highlightModulesDescription.addUntracked<std::string>("label", "producers");
1686  desc.addVPSetUntracked("highlightModules", highlightModulesDescription, {});
1687 
1688  // # OBSOLETE - these parameters are ignored, they are left only not to break old configurations
1689  // they will not be printed in the generated cfi.py file
1690  desc.addOptionalNode(edm::ParameterDescription<bool>("useRealTimeClock", true, false), false)
1691  ->setComment("This parameter is obsolete and will be ignored.");
1692  desc.addOptionalNode(edm::ParameterDescription<bool>("enableTimingPaths", true, false), false)
1693  ->setComment("This parameter is obsolete and will be ignored.");
1694  desc.addOptionalNode(edm::ParameterDescription<bool>("enableTimingModules", true, false), false)
1695  ->setComment("This parameter is obsolete and will be ignored.");
1696  desc.addOptionalNode(edm::ParameterDescription<bool>("enableTimingExclusive", false, false), false)
1697  ->setComment("This parameter is obsolete and will be ignored.");
1698  desc.addOptionalNode(edm::ParameterDescription<bool>("enableTimingSummary", false, false), false)
1699  ->setComment("This parameter is obsolete and will be ignored.");
1700  desc.addOptionalNode(edm::ParameterDescription<bool>("skipFirstPath", false, false), false)
1701  ->setComment("This parameter is obsolete and will be ignored.");
1702  desc.addOptionalNode(edm::ParameterDescription<bool>("enableDQMbyPathActive", false, false), false)
1703  ->setComment("This parameter is obsolete and will be ignored.");
1704  desc.addOptionalNode(edm::ParameterDescription<bool>("enableDQMbyPathTotal", true, false), false)
1705  ->setComment("This parameter is obsolete and will be ignored.");
1706  desc.addOptionalNode(edm::ParameterDescription<bool>("enableDQMbyPathOverhead", false, false), false)
1707  ->setComment("This parameter is obsolete and will be ignored.");
1708  desc.addOptionalNode(edm::ParameterDescription<bool>("enableDQMbyPathDetails", false, false), false)
1709  ->setComment("This parameter is obsolete and will be ignored.");
1710  desc.addOptionalNode(edm::ParameterDescription<bool>("enableDQMbyPathCounters", true, false), false)
1711  ->setComment("This parameter is obsolete and will be ignored.");
1712  desc.addOptionalNode(edm::ParameterDescription<bool>("enableDQMbyPathExclusive", false, false), false)
1713  ->setComment("This parameter is obsolete and will be ignored.");
1714  desc.addOptionalNode(edm::ParameterDescription<bool>("enableDQMbyModuleType", false, false), false)
1715  ->setComment("This parameter is obsolete and will be ignored.");
1716  desc.addOptionalNode(edm::ParameterDescription<bool>("enableDQMSummary", false, false), false)
1717  ->setComment("This parameter is obsolete and will be ignored.");
1718 
1719  descriptions.add("FastTimerService", desc);
1720 }

References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::addOptionalNode(), edm::ParameterSetDescription::addUntracked(), edm::ParameterSetDescription::addVPSetUntracked(), edm::ParameterDescriptionNode::setComment(), and AlCaHLTBitMon_QueryRunRegistry::string.

◆ ignoredSignal()

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

Definition at line 877 of file FastTimerService.cc.

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

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 1388 of file FastTimerService.cc.

1388  {
1389  // release-acquire semantic guarantees that all writes in this and other threads are visible
1390  // after this operation; full sequentially-consistent ordering is (probably) not needed.
1391  unsigned int old_value = check.fetch_add(1, std::memory_order_acq_rel);
1392  return (old_value == callgraph_.processes().size() - 1);
1393 }

References RPCNoise_example::check.

◆ on_scheduler_entry()

void FastTimerService::on_scheduler_entry ( bool  worker)
finalprivate

Definition at line 1637 of file FastTimerService.cc.

1637  {
1638  // initialise the measurement point for a thread that has newly joining the TBB pool
1639  thread().measure();
1640 }

◆ on_scheduler_exit()

void FastTimerService::on_scheduler_exit ( bool  worker)
finalprivate

Definition at line 1642 of file FastTimerService.cc.

1642  {
1643  // account any resources used or freed by the thread before leaving the TBB pool
1645 }

◆ postBeginJob()

void FastTimerService::postBeginJob ( )
private

Definition at line 975 of file FastTimerService.cc.

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

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 1397 of file FastTimerService.cc.

1397  {
1398  ignoredSignal(__func__);
1399 
1400  unsigned int pid = callgraph_.processId(*sc.processContext());
1401  unsigned int sid = sc.streamID();
1402  auto& stream = streams_[sid];
1403  auto& process = callgraph_.processDescription(pid);
1404 
1405  // measure the event resources as the sum of all modules' resources
1406  auto& data = stream.processes[pid].total;
1407  for (unsigned int id : process.modules_)
1408  data += stream.modules[id].total;
1409  stream.total += data;
1410 
1411  // handle the summaries and fill the plots only after the last subprocess has run
1413  if (not last)
1414  return;
1415 
1416  // measure the event resources explicitly
1417  stream.event_measurement.measure_and_store(stream.event);
1418 
1419  // add to the event resources those used by source (which is not part of any process)
1420  unsigned int id = 0;
1421  stream.total += stream.modules[id].total;
1422 
1423  // highlighted modules
1424  for (unsigned int group : boost::irange(0ul, highlight_modules_.size()))
1425  for (unsigned int i : highlight_modules_[group].modules)
1426  stream.highlight[group] += stream.modules[i].total;
1427 
1428  // avoid concurrent access to the summary objects
1429  {
1430  std::lock_guard<std::mutex> guard(summary_mutex_);
1431  job_summary_ += stream;
1432  run_summary_[sc.runIndex()] += stream;
1433  }
1434 
1435  if (print_event_summary_) {
1436  edm::LogVerbatim out("FastReport");
1437  printEvent(out, stream);
1438  }
1439 
1440  if (enable_dqm_) {
1441  plots_->fill(callgraph_, stream, sc.eventID().luminosityBlock());
1442  }
1443 }

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 1561 of file FastTimerService.cc.

1561  {
1562  ignoredSignal(__func__);
1563 }

◆ postGlobalBeginLumi()

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

Definition at line 1031 of file FastTimerService.cc.

1031 { ignoredSignal(__func__); }

◆ postGlobalBeginRun()

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

Definition at line 928 of file FastTimerService.cc.

928 { ignoredSignal(__func__); }

◆ postGlobalEndLumi()

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

Definition at line 1035 of file FastTimerService.cc.

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

References dqm-mbProfile::format, label, dqmdumpme::last, edm::LuminosityBlockID::luminosityBlock(), edm::GlobalContext::luminosityBlockID(), edm::GlobalContext::luminosityBlockIndex(), MillePedeFileConverter_cfg::out, edm::LuminosityBlockID::run(), and str.

◆ 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 = (boost::format("Run %d") % gc.luminosityBlockID().run()).str();
1076  if (print_run_summary_) {
1078  }
1080 
1082  plots_->fill_run(run_transition_[index]);
1083  }
1084 }

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

◆ postModuleEvent()

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

Definition at line 1526 of file FastTimerService.cc.

1526  {
1527  edm::ModuleDescription const& md = *mcc.moduleDescription();
1528  unsigned int id = md.id();
1529  unsigned int sid = sc.streamID().value();
1530  auto& stream = streams_[sid];
1531  auto& module = stream.modules[id];
1532 
1533  if (module.has_acquire) {
1535  } else {
1536  thread().measure_and_store(module.total);
1537  }
1538  ++module.events;
1539 }

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 1509 of file FastTimerService.cc.

1509  {
1510  edm::ModuleDescription const& md = *mcc.moduleDescription();
1511  unsigned int id = md.id();
1512  unsigned int sid = sc.streamID().value();
1513  auto& stream = streams_[sid];
1514  auto& module = stream.modules[id];
1515 
1516  module.has_acquire = true;
1517  thread().measure_and_store(module.total);
1518 }

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 1545 of file FastTimerService.cc.

1545  {
1546  unsupportedSignal(__func__);
1547 }

◆ postModuleEventPrefetching()

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

Definition at line 1553 of file FastTimerService.cc.

1553  {
1554  ignoredSignal(__func__);
1555 }

◆ postModuleGlobalBeginLumi()

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

Definition at line 1587 of file FastTimerService.cc.

1587  {
1588  auto index = gc.luminosityBlockIndex();
1590 }

References edm::GlobalContext::luminosityBlockIndex().

◆ postModuleGlobalBeginRun()

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

Definition at line 1569 of file FastTimerService.cc.

1569  {
1570  auto index = gc.runIndex();
1572 }

References edm::GlobalContext::runIndex().

◆ postModuleGlobalEndLumi()

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

Definition at line 1596 of file FastTimerService.cc.

1596  {
1597  auto index = gc.luminosityBlockIndex();
1599 }

References edm::GlobalContext::luminosityBlockIndex().

◆ postModuleGlobalEndRun()

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

Definition at line 1578 of file FastTimerService.cc.

1578  {
1579  auto index = gc.runIndex();
1581 }

References edm::GlobalContext::runIndex().

◆ postModuleStreamBeginLumi()

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

Definition at line 1623 of file FastTimerService.cc.

1623  {
1624  auto index = sc.luminosityBlockIndex();
1626 }

References edm::StreamContext::luminosityBlockIndex().

◆ postModuleStreamBeginRun()

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

Definition at line 1605 of file FastTimerService.cc.

1605  {
1606  auto index = sc.runIndex();
1608 }

References edm::StreamContext::runIndex().

◆ postModuleStreamEndLumi()

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

Definition at line 1632 of file FastTimerService.cc.

1632  {
1633  auto index = sc.luminosityBlockIndex();
1635 }

References edm::StreamContext::luminosityBlockIndex().

◆ postModuleStreamEndRun()

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

Definition at line 1614 of file FastTimerService.cc.

1614  {
1615  auto index = sc.runIndex();
1617 }

References edm::StreamContext::runIndex().

◆ postPathEvent()

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

Definition at line 1479 of file FastTimerService.cc.

1481  {
1482  unsigned int sid = sc.streamID().value();
1483  unsigned int pid = callgraph_.processId(*sc.processContext());
1484  unsigned int id = pc.pathID();
1485  auto& stream = streams_[sid];
1486  auto& data = pc.isEndPath() ? stream.processes[pid].endpaths[id] : stream.processes[pid].paths[id];
1487 
1488  auto const& path =
1490  unsigned int index = path.modules_on_path_.empty() ? 0 : status.index() + 1;
1491  data.last = path.modules_on_path_.empty() ? 0 : path.last_dependency_of_module_[status.index()];
1492 
1493  for (unsigned int i = 0; i < index; ++i) {
1494  auto const& module = stream.modules[path.modules_on_path_[i]];
1495  data.active += module.total;
1496  }
1497  for (unsigned int i = 0; i < data.last; ++i) {
1498  auto const& module = stream.modules[path.modules_and_dependencies_[i]];
1499  data.total += module.total;
1500  }
1501 }

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 1459 of file FastTimerService.cc.

1459  {
1461  unsigned int id = md.id();
1462  auto& stream = streams_[sid];
1463  auto& module = stream.modules[id];
1464 
1465  thread().measure_and_store(module.total);
1466  ++stream.modules[id].events;
1467 }

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 1014 of file FastTimerService.cc.

1014 { 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 1018 of file FastTimerService.cc.

1018 { ignoredSignal(__func__); }

◆ preallocate()

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

Definition at line 932 of file FastTimerService.cc.

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

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

◆ preBeginJob()

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

Definition at line 970 of file FastTimerService.cc.

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

◆ preEvent()

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

Definition at line 1395 of file FastTimerService.cc.

1395 { ignoredSignal(__func__); }

◆ preEventReadFromSource()

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

Definition at line 1557 of file FastTimerService.cc.

1557  {
1558  ignoredSignal(__func__);
1559 }

◆ preGlobalBeginLumi()

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

Definition at line 1020 of file FastTimerService.cc.

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

References edm::GlobalContext::luminosityBlockIndex().

◆ preGlobalBeginRun()

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

Definition at line 890 of file FastTimerService.cc.

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

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

◆ preGlobalEndLumi()

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

Definition at line 1033 of file FastTimerService.cc.

1033 { 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 1520 of file FastTimerService.cc.

1520  {
1521  unsigned int sid = sc.streamID().value();
1522  auto& stream = streams_[sid];
1523  thread().measure_and_accumulate(stream.overhead);
1524 }

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 1503 of file FastTimerService.cc.

1503  {
1504  unsigned int sid = sc.streamID().value();
1505  auto& stream = streams_[sid];
1506  thread().measure_and_accumulate(stream.overhead);
1507 }

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 1541 of file FastTimerService.cc.

1541  {
1542  unsupportedSignal(__func__);
1543 }

◆ preModuleEventPrefetching()

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

Definition at line 1549 of file FastTimerService.cc.

1549  {
1550  ignoredSignal(__func__);
1551 }

◆ preModuleGlobalBeginLumi()

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

Definition at line 1583 of file FastTimerService.cc.

1583  {
1585 }

◆ preModuleGlobalBeginRun()

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

Definition at line 1565 of file FastTimerService.cc.

1565  {
1567 }

◆ preModuleGlobalEndLumi()

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

Definition at line 1592 of file FastTimerService.cc.

1592  {
1594 }

◆ preModuleGlobalEndRun()

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

Definition at line 1574 of file FastTimerService.cc.

1574  {
1576 }

◆ preModuleStreamBeginLumi()

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

Definition at line 1619 of file FastTimerService.cc.

1619  {
1621 }

◆ preModuleStreamBeginRun()

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

Definition at line 1601 of file FastTimerService.cc.

1601  {
1603 }

◆ preModuleStreamEndLumi()

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

Definition at line 1628 of file FastTimerService.cc.

1628  {
1630 }

◆ preModuleStreamEndRun()

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

Definition at line 1610 of file FastTimerService.cc.

1610  {
1612 }

◆ prePathEvent()

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

Definition at line 1469 of file FastTimerService.cc.

1469  {
1470  unsigned int sid = sc.streamID().value();
1471  unsigned int pid = callgraph_.processId(*sc.processContext());
1472  unsigned int id = pc.pathID();
1473  auto& stream = streams_[sid];
1474  auto& data = pc.isEndPath() ? stream.processes[pid].endpaths[id] : stream.processes[pid].paths[id];
1475  data.status = false;
1476  data.last = 0;
1477 }

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 966 of file FastTimerService.cc.

966  {
968 }

◆ preSourceEvent()

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

Definition at line 1445 of file FastTimerService.cc.

1445  {
1446  // clear the event counters
1447  auto& stream = streams_[sid];
1448  stream.reset();
1449  ++stream.events;
1450 
1451  subprocess_event_check_[sid] = 0;
1452 
1453  // reuse the same measurement for the Source module and for the explicit begin of the Event
1454  auto& measurement = thread();
1455  measurement.measure_and_accumulate(stream.overhead);
1456  stream.event_measurement = measurement;
1457 }

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 930 of file FastTimerService.cc.

930 { 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 1016 of file FastTimerService.cc.

1016 { 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 1141 of file FastTimerService.cc.

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

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 1133 of file FastTimerService.cc.

1133  {
1134  out << boost::format("FastReport %10.1f ms %10.1f ms %+10d kB %+10d kB %s\n") %
1135  ms(boost::chrono::nanoseconds(data.time_thread.load())) %
1136  ms(boost::chrono::nanoseconds(data.time_real.load())) % +static_cast<int64_t>(kB(data.allocated)) %
1137  -static_cast<int64_t>(kB(data.deallocated)) % label;
1138 }

References data, dqm-mbProfile::format, 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 << boost::format("FastReport %10.1f ms %10.1f ms %+10d kB %+10d kB %s\n") % ms(data.time_thread) %
1128  ms(data.time_real) % +static_cast<int64_t>(kB(data.allocated)) %
1129  -static_cast<int64_t>(kB(data.deallocated)) % label;
1130 }

References data, dqm-mbProfile::format, 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 1206 of file FastTimerService.cc.

1206  {
1207  out << "FastReport CPU time sched. / depend. Real time sched. / depend. Alloc. sched. / depend. "
1208  "Dealloc. sched. / depend. ";
1209  // FastReport ########.# ms ########.# ms ########.# ms ########.# ms +######### kB +######### kB -######### kB -######### kB ...
1210  out << label << '\n';
1211 }

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 1263 of file FastTimerService.cc.

1264  {
1265  out << boost::format(
1266  "FastReport %10.1f ms %10.1f ms %10.1f ms %10.1f ms %+10d kB %+10d kB %+10d kB %+10d kB %s\n") %
1267  (events ? ms(data.time_thread) / events : 0) % (events ? ms(total.time_thread) / events : 0) %
1268  (events ? ms(data.time_real) / events : 0) % (events ? ms(total.time_real) / events : 0) %
1269  (events ? +static_cast<int64_t>(kB(data.allocated) / events) : 0) %
1270  (events ? +static_cast<int64_t>(kB(total.allocated) / events) : 0) %
1271  (events ? -static_cast<int64_t>(kB(data.deallocated) / events) : 0) %
1272  (events ? -static_cast<int64_t>(kB(total.deallocated) / events) : 0) % label;
1273 }

References data, patZpeak::events, dqm-mbProfile::format, 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 1276 of file FastTimerService.cc.

1276  {
1277  printHeader(out, label);
1278  printSummaryHeader(out, "Modules", true);
1279  auto const& source_d = callgraph_.source();
1280  auto const& source = data.modules[source_d.id()];
1281  printSummaryLine(out, source.total, data.events, source.events, source_d.moduleLabel());
1282  for (unsigned int i = 0; i < callgraph_.processes().size(); ++i) {
1283  auto const& proc_d = callgraph_.processDescription(i);
1284  auto const& proc = data.processes[i];
1285  printSummaryLine(out, proc.total, data.events, "process " + proc_d.name_);
1286  for (unsigned int m : proc_d.modules_) {
1287  auto const& module_d = callgraph_.module(m);
1288  auto const& module = data.modules[m];
1289  printSummaryLine(out, module.total, data.events, module.events, " " + module_d.moduleLabel());
1290  }
1291  }
1292  printSummaryLine(out, data.total, data.events, "total");
1293  printSummaryLine(out, data.overhead, data.events, "other");
1294  out << '\n';
1295  printPathSummaryHeader(out, "Processes and Paths");
1296  printSummaryLine(out, source.total, data.events, source_d.moduleLabel());
1297  for (unsigned int i = 0; i < callgraph_.processes().size(); ++i) {
1298  auto const& proc_d = callgraph_.processDescription(i);
1299  auto const& proc = data.processes[i];
1300  printSummaryLine(out, proc.total, data.events, "process " + proc_d.name_);
1301  for (unsigned int p = 0; p < proc.paths.size(); ++p) {
1302  auto const& name = proc_d.paths_[p].name_;
1303  auto const& path = proc.paths[p];
1304  printPathSummaryLine(out, path.active, path.total, data.events, " " + name);
1305  }
1306  for (unsigned int p = 0; p < proc.endpaths.size(); ++p) {
1307  auto const& name = proc_d.endPaths_[p].name_;
1308  auto const& path = proc.endpaths[p];
1309  printPathSummaryLine(out, path.active, path.total, data.events, " " + name);
1310  }
1311  }
1312  printSummaryLine(out, data.total, data.events, "total");
1313  printSummaryLine(out, data.overhead, data.events, "other");
1314  out << '\n';
1315  for (unsigned int group : boost::irange(0ul, highlight_modules_.size())) {
1316  printSummaryHeader(out, "Highlighted modules", true);
1317  for (unsigned int m : highlight_modules_[group].modules) {
1318  auto const& module_d = callgraph_.module(m);
1319  auto const& module = data.modules[m];
1320  printSummaryLine(out, module.total, data.events, module.events, module_d.moduleLabel());
1321  }
1322  printSummaryLine(out, data.highlight[group], data.events, highlight_modules_[group].label);
1323  out << '\n';
1324  }
1325 }

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 1193 of file FastTimerService.cc.

1193  {
1194  if (detailed)
1195  out << "FastReport CPU time avg. when run Real time avg. when run Alloc. avg. when run "
1196  "Dealloc. avg. when run ";
1197  // FastReport ########.# ms ########.# ms ########.# ms ########.# ms +######### kB +######### kB -######### kB -######### kB ...
1198  else
1199  out << "FastReport CPU time avg. Real time avg. Alloc. avg. "
1200  "Dealloc. avg. ";
1201  // FastReport ########.# ms ########.# ms +######### kB -######### kB ...
1202  out << label << '\n';
1203 }

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 1237 of file FastTimerService.cc.

1240  {
1241  out << boost::format(
1242  "FastReport %10.1f ms %10.1f ms %+10d kB %+10d kB "
1243  " %s\n") %
1244  (events ? ms(data.time_thread) / events : 0) % (events ? ms(data.time_real) / events : 0) %
1245  (events ? +static_cast<int64_t>(kB(data.allocated) / events) : 0) %
1246  (events ? -static_cast<int64_t>(kB(data.deallocated) / events) : 0) % label;
1247 }

References data, patZpeak::events, dqm-mbProfile::format, 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 1224 of file FastTimerService.cc.

1225  {
1226  out << boost::format(
1227  "FastReport %10.1f ms %10.1f ms %10.1f ms %10.1f ms %+10d kB %+10d kB %+10d kB %+10d kB %s\n") %
1228  (events ? ms(data.time_thread) / events : 0) % (active ? ms(data.time_thread) / active : 0) %
1229  (events ? ms(data.time_real) / events : 0) % (active ? ms(data.time_real) / active : 0) %
1230  (events ? +static_cast<int64_t>(kB(data.allocated) / events) : 0) %
1231  (active ? +static_cast<int64_t>(kB(data.allocated) / active) : 0) %
1232  (events ? -static_cast<int64_t>(kB(data.deallocated) / events) : 0) %
1233  (active ? -static_cast<int64_t>(kB(data.deallocated) / active) : 0) % label;
1234 }

References data, patZpeak::events, dqm-mbProfile::format, 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 1214 of file FastTimerService.cc.

1214  {
1215  out << boost::format(
1216  "FastReport %10.1f ms %10.1f ms %+10d kB %+10d kB "
1217  " %s\n") %
1218  (events ? ms(data.time_thread) / events : 0) % (events ? ms(data.time_real) / events : 0) %
1219  (events ? +static_cast<int64_t>(kB(data.allocated) / events) : 0) %
1220  (events ? -static_cast<int64_t>(kB(data.deallocated) / events) : 0) % label;
1221 }

References data, patZpeak::events, dqm-mbProfile::format, 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 1250 of file FastTimerService.cc.

1251  {
1252  out << boost::format(
1253  "FastReport %10.1f ms %10.1f ms %10.1f ms %10.1f ms %+10d kB %+10d kB %+10d kB %+10d kB %s\n") %
1254  (events ? ms(data.time_thread) / events : 0) % (active ? ms(data.time_thread) / active : 0) %
1255  (events ? ms(data.time_real) / events : 0) % (active ? ms(data.time_real) / active : 0) %
1256  (events ? +static_cast<int64_t>(kB(data.allocated) / events) : 0) %
1257  (active ? +static_cast<int64_t>(kB(data.allocated) / active) : 0) %
1258  (events ? -static_cast<int64_t>(kB(data.deallocated) / events) : 0) %
1259  (active ? -static_cast<int64_t>(kB(data.deallocated) / active) : 0) % label;
1260 }

References data, patZpeak::events, dqm-mbProfile::format, 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 1328 of file FastTimerService.cc.

1328  {
1329  printEventHeader(out, "Transition");
1331 }

References data, label, and MillePedeFileConverter_cfg::out.

◆ thread()

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

Definition at line 1647 of file FastTimerService.cc.

1647 { return threads_.local(); }

◆ unsupportedSignal()

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

Definition at line 882 of file FastTimerService.cc.

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

◆ writeSummaryJSON()

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

Definition at line 1351 of file FastTimerService.cc.

1351  {
1352  json j;
1353 
1354  // write a description of the resources
1355  j["resources"] = json::array({json{{"time_real", "real time"}},
1356  json{{"time_thread", "cpu time"}},
1357  json{{"mem_alloc", "allocated memory"}},
1358  json{{"mem_free", "deallocated memory"}}});
1359 
1360  // write the resources used by the job
1361  j["total"] = encodeToJSON("Job", callgraph_.processDescription(0).name_, data.events, data.total + data.overhead);
1362 
1363  // write the resources used by every module
1364  j["modules"] = json::array();
1365  for (unsigned int i = 0; i < callgraph_.size(); ++i) {
1366  auto const& module = callgraph_.module(i);
1367  auto const& data_m = data.modules[i];
1368  j["modules"].push_back(encodeToJSON(module, data_m));
1369  }
1370 
1371  // add an entry for the "overhead"
1372  j["modules"].push_back(encodeToJSON("other", "other", data.events, data.overhead));
1373 
1374  std::ofstream out(filename);
1375  out << std::setw(2) << j << std::flush;
1376 }

References mps_check::array, data, corrVsCorr::filename, mps_fire::i, dqmiolumiharvest::j, module::module(), 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:1445
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:392
edm::ActivityRegistry::watchPostModuleGlobalEndRun
void watchPostModuleGlobalEndRun(PostModuleGlobalEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:807
FastTimerService::postSourceEvent
void postSourceEvent(edm::StreamID)
Definition: FastTimerService.cc:1459
FastTimerService::preBeginJob
void preBeginJob(edm::PathsAndConsumesOfModulesBase const &, edm::ProcessContext const &)
Definition: FastTimerService.cc:970
FastTimerService::printEvent
void printEvent(T &out, ResourcesPerJob const &) const
FastTimerService::preModuleStreamBeginLumi
void preModuleStreamBeginLumi(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1619
FastTimerService::callgraph_
ProcessCallGraph callgraph_
Definition: FastTimerService.h:440
mps_fire.i
i
Definition: mps_fire.py:355
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:1565
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:306
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:212
edm::ActivityRegistry::watchPreSourceLumi
void watchPreSourceLumi(PreSourceLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:194
edm::ActivityRegistry::watchPostGlobalEndRun
void watchPostGlobalEndRun(PostGlobalEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:290
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:765
mps_update.status
status
Definition: mps_update.py:69
FastTimerService::postEvent
void postEvent(edm::StreamContext const &)
Definition: FastTimerService.cc:1397
modules
Definition: ZHLTMatchFilter.cc:17
FastTimerService::postModuleEvent
void postModuleEvent(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1526
FastTimerService::print_job_summary_
const bool print_job_summary_
Definition: FastTimerService.h:479
FastTimerService::preSourceConstruction
void preSourceConstruction(edm::ModuleDescription const &)
Definition: FastTimerService.cc:966
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
FastTimerService::preGlobalBeginLumi
void preGlobalBeginLumi(edm::GlobalContext const &)
Definition: FastTimerService.cc:1020
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:352
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:1614
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:1351
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:890
edm::ActivityRegistry::watchPostModuleGlobalBeginRun
void watchPostModuleGlobalBeginRun(PostModuleGlobalBeginRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:793
FastTimerService::isLastSubprocess
bool isLastSubprocess(std::atomic< unsigned int > &check)
Definition: FastTimerService.cc:1388
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:751
FastTimerService::postSourceLumi
void postSourceLumi(edm::LuminosityBlockIndex)
Definition: FastTimerService.cc:1092
FastTimerService::preModuleEvent
void preModuleEvent(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1520
FastTimerService::unsupportedSignal
void unsupportedSignal(const std::string &signal) const
Definition: FastTimerService.cc:882
FastTimerService::preModuleEventAcquire
void preModuleEventAcquire(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1503
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:730
edm::ActivityRegistry::watchPreStreamBeginRun
void watchPreStreamBeginRun(PreStreamBeginRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:309
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
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:932
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:188
FastTimerService::postModuleGlobalBeginRun
void postModuleGlobalBeginRun(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1569
FastTimerService::ignoredSignal
void ignoredSignal(const std::string &signal) const
Definition: FastTimerService.cc:877
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:814
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:1596
edm::ActivityRegistry::watchPreModuleStreamEndLumi
void watchPreModuleStreamEndLumi(PreModuleStreamEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:772
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:1632
edm::ActivityRegistry::watchPostEndJob
void watchPostEndJob(PostEndJob::slot_type const &iSlot)
Definition: ActivityRegistry.h:168
edm::ActivityRegistry::watchPreStreamBeginLumi
void watchPreStreamBeginLumi(PreStreamBeginLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:373
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:1578
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:149
ProcessCallGraph::ProcessType::name_
std::string name_
Definition: ProcessCallGraph.h:79
FastTimerService::preModuleGlobalBeginLumi
void preModuleGlobalBeginLumi(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1583
dqm-mbProfile.format
format
Definition: dqm-mbProfile.py:16
edm::ActivityRegistry::watchPostModuleEventDelayedGet
void watchPostModuleEventDelayedGet(PostModuleEventDelayedGet::slot_type const &iSlot)
Definition: ActivityRegistry.h:707
FastTimerService::preStreamBeginRun
void preStreamBeginRun(edm::StreamContext const &)
Definition: FastTimerService.cc:930
FastTimerService::postModuleStreamBeginRun
void postModuleStreamBeginRun(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1605
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:400
FastTimerService::isFirstSubprocess
bool isFirstSubprocess(edm::StreamContext const &)
source
static const std::string source
Definition: EdmProvDump.cc:47
str
#define str(s)
Definition: TestProcessor.cc:48
FastTimerService::preModuleStreamEndRun
void preModuleStreamEndRun(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1610
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:156
edm::ActivityRegistry::watchPreModuleStreamBeginLumi
void watchPreModuleStreamBeginLumi(PreModuleStreamBeginLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:758
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:949
edm::ActivityRegistry::watchPreSourceRun
void watchPreSourceRun(PreSourceRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:206
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:200
edm::LogWarning
Definition: MessageLogger.h:141
FastTimerService::preModuleStreamEndLumi
void preModuleStreamEndLumi(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1628
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:828
FastTimerService::postModuleEventAcquire
void postModuleEventAcquire(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1509
edm::ActivityRegistry::watchPreModuleStreamEndRun
void watchPreModuleStreamEndRun(PreModuleStreamEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:744
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:670
edm::ActivityRegistry::watchPostEvent
void watchPostEvent(PostEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:406
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:835
FastTimerService::preModuleGlobalEndRun
void preModuleGlobalEndRun(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1574
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:1623
FastTimerService::Measurement::measure_and_store
void measure_and_store(Resources &store) noexcept
Definition: FastTimerService.cc:316
edm::Service
Definition: Service.h:30
FastTimerService::Measurement::measure_and_accumulate
void measure_and_accumulate(Resources &store) noexcept
Definition: FastTimerService.cc:334
edm::LogVerbatim
Definition: MessageLogger.h:297
FastTimerService::preModuleGlobalEndLumi
void preModuleGlobalEndLumi(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1592
edm::ActivityRegistry::watchPostPathEvent
void watchPostPathEvent(PostPathEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:418
edm::ActivityRegistry::watchPreModuleGlobalEndRun
void watchPreModuleGlobalEndRun(PreModuleGlobalEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:800
FastTimerService::postModuleGlobalBeginLumi
void postModuleGlobalBeginLumi(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1587
HltBtagPostValidation_cff.c
c
Definition: HltBtagPostValidation_cff.py:31
edm::ActivityRegistry::watchPostModuleStreamEndLumi
void watchPostModuleStreamEndLumi(PostModuleStreamEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:779
module
Definition: vlib.h:198
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:142
ProcessCallGraph::source
const edm::ModuleDescription & source() const
Definition: ProcessCallGraph.cc:149
FastTimerService::preModuleStreamBeginRun
void preModuleStreamBeginRun(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1601
FastTimerService::thread
Measurement & thread()
Definition: FastTimerService.cc:1647
type
type
Definition: HCALResponse.h:21
edm::ActivityRegistry::watchPreGlobalBeginLumi
void watchPreGlobalBeginLumi(PreGlobalBeginLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:333
edm::ActivityRegistry::watchPostModuleEvent
void watchPostModuleEvent(PostModuleEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:677
edm::ActivityRegistry::watchPreModuleGlobalBeginRun
void watchPreModuleGlobalBeginRun(PreModuleGlobalBeginRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:786
FastTimerService::prePathEvent
void prePathEvent(edm::StreamContext const &, edm::PathContext const &)
Definition: FastTimerService.cc:1469
FastTimerService::postPathEvent
void postPathEvent(edm::StreamContext const &, edm::PathContext const &, edm::HLTPathStatus const &)
Definition: FastTimerService.cc:1479
FastTimerService::postGlobalEndLumi
void postGlobalEndLumi(edm::GlobalContext const &)
Definition: FastTimerService.cc:1035
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:691
FastTimerService::preModuleEventDelayedGet
void preModuleEventDelayedGet(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1541
edm::ActivityRegistry::watchPreSourceEvent
void watchPreSourceEvent(PreSourceEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:182
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:1545
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:821
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:273
FastTimerService::postSourceRun
void postSourceRun(edm::RunIndex)
Definition: FastTimerService.cc:1088
edm::ActivityRegistry::watchPrePathEvent
void watchPrePathEvent(PrePathEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:412
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:683
edm::ParameterDescription
Definition: ParameterDescription.h:110
json
nlohmann::json json
Definition: FastTimerService.cc:19
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:699
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:737
FastTimerService::preSourceRun
void preSourceRun(edm::RunIndex)
Definition: FastTimerService.cc:1086
edm::ActivityRegistry::watchPostStreamEndRun
void watchPostStreamEndRun(PostStreamEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:326
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:1018
FastTimerService::preEvent
void preEvent(edm::StreamContext const &)
Definition: FastTimerService.cc:1395
edm::ActivityRegistry::watchPreModuleEvent
void watchPreModuleEvent(PreModuleEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:671
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:975
ProcessCallGraph::preSourceConstruction
void preSourceConstruction(edm::ModuleDescription const &)
Definition: ProcessCallGraph.cc:52