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
 
struct  ThreadGuard
 

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_
 
ThreadGuard guard_
 
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::concurrent_unordered_set< std::string > unsupported_signals_
 
const bool write_json_summary_
 

Detailed Description

Definition at line 54 of file FastTimerService.h.

Constructor & Destructor Documentation

◆ FastTimerService()

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

Definition at line 769 of file FastTimerService.cc.

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

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

1380  {
1381  return encodeToJSON(module.moduleName(), module.moduleLabel(), data.events, data.total);
1382 }

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

◆ encodeToJSON() [2/3]

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

◆ encodeToJSON() [3/3]

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

Definition at line 1367 of file FastTimerService.cc.

1370  {
1371  return json{{"type", type},
1372  {"label", label},
1373  {"events", events},
1374  {"time_thread", ms(data.time_thread)},
1375  {"time_real", ms(data.time_real)},
1376  {"mem_alloc", kB(data.allocated)},
1377  {"mem_free", kB(data.deallocated)}};
1378 }

References data, patZpeak::events, and label.

◆ fillDescriptions()

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

Definition at line 1734 of file FastTimerService.cc.

1734  {
1736  desc.addUntracked<bool>("printEventSummary", false);
1737  desc.addUntracked<bool>("printRunSummary", true);
1738  desc.addUntracked<bool>("printJobSummary", true);
1739  // JSON configuration
1740  //desc.addUntracked<bool>("writeJSONByEvent", false);
1741  //desc.addUntracked<bool>("writeJSONByLumiSection", false);
1742  //desc.addUntracked<bool>("writeJSONByRun", false);
1743  desc.addUntracked<bool>("writeJSONSummary", false);
1744  desc.addUntracked<std::string>("jsonFileName", "resources.json");
1745  // DQM configuration
1746  desc.addUntracked<bool>("enableDQM", true);
1747  desc.addUntracked<bool>("enableDQMbyModule", false);
1748  desc.addUntracked<bool>("enableDQMbyPath", false);
1749  desc.addUntracked<bool>("enableDQMbyLumiSection", false);
1750  desc.addUntracked<bool>("enableDQMbyProcesses", false);
1751  desc.addUntracked<bool>("enableDQMTransitions", false);
1752  desc.addUntracked<double>("dqmTimeRange", 1000.); // ms
1753  desc.addUntracked<double>("dqmTimeResolution", 5.); // ms
1754  desc.addUntracked<double>("dqmMemoryRange", 1000000.); // kB
1755  desc.addUntracked<double>("dqmMemoryResolution", 5000.); // kB
1756  desc.addUntracked<double>("dqmPathTimeRange", 100.); // ms
1757  desc.addUntracked<double>("dqmPathTimeResolution", 0.5); // ms
1758  desc.addUntracked<double>("dqmPathMemoryRange", 1000000.); // kB
1759  desc.addUntracked<double>("dqmPathMemoryResolution", 5000.); // kB
1760  desc.addUntracked<double>("dqmModuleTimeRange", 40.); // ms
1761  desc.addUntracked<double>("dqmModuleTimeResolution", 0.2); // ms
1762  desc.addUntracked<double>("dqmModuleMemoryRange", 100000.); // kB
1763  desc.addUntracked<double>("dqmModuleMemoryResolution", 500.); // kB
1764  desc.addUntracked<unsigned>("dqmLumiSectionsRange", 2500); // ~ 16 hours
1765  desc.addUntracked<std::string>("dqmPath", "HLT/TimerService");
1766 
1767  edm::ParameterSetDescription highlightModulesDescription;
1768  highlightModulesDescription.addUntracked<std::vector<std::string>>("modules", {});
1769  highlightModulesDescription.addUntracked<std::string>("label", "producers");
1770  desc.addVPSetUntracked("highlightModules", highlightModulesDescription, {});
1771 
1772  // # OBSOLETE - these parameters are ignored, they are left only not to break old configurations
1773  // they will not be printed in the generated cfi.py file
1774  desc.addOptionalNode(edm::ParameterDescription<bool>("useRealTimeClock", true, false), false)
1775  ->setComment("This parameter is obsolete and will be ignored.");
1776  desc.addOptionalNode(edm::ParameterDescription<bool>("enableTimingPaths", true, false), false)
1777  ->setComment("This parameter is obsolete and will be ignored.");
1778  desc.addOptionalNode(edm::ParameterDescription<bool>("enableTimingModules", true, false), false)
1779  ->setComment("This parameter is obsolete and will be ignored.");
1780  desc.addOptionalNode(edm::ParameterDescription<bool>("enableTimingExclusive", false, false), false)
1781  ->setComment("This parameter is obsolete and will be ignored.");
1782  desc.addOptionalNode(edm::ParameterDescription<bool>("enableTimingSummary", false, false), false)
1783  ->setComment("This parameter is obsolete and will be ignored.");
1784  desc.addOptionalNode(edm::ParameterDescription<bool>("skipFirstPath", false, false), false)
1785  ->setComment("This parameter is obsolete and will be ignored.");
1786  desc.addOptionalNode(edm::ParameterDescription<bool>("enableDQMbyPathActive", false, false), false)
1787  ->setComment("This parameter is obsolete and will be ignored.");
1788  desc.addOptionalNode(edm::ParameterDescription<bool>("enableDQMbyPathTotal", true, false), false)
1789  ->setComment("This parameter is obsolete and will be ignored.");
1790  desc.addOptionalNode(edm::ParameterDescription<bool>("enableDQMbyPathOverhead", false, false), false)
1791  ->setComment("This parameter is obsolete and will be ignored.");
1792  desc.addOptionalNode(edm::ParameterDescription<bool>("enableDQMbyPathDetails", false, false), false)
1793  ->setComment("This parameter is obsolete and will be ignored.");
1794  desc.addOptionalNode(edm::ParameterDescription<bool>("enableDQMbyPathCounters", true, false), false)
1795  ->setComment("This parameter is obsolete and will be ignored.");
1796  desc.addOptionalNode(edm::ParameterDescription<bool>("enableDQMbyPathExclusive", false, false), false)
1797  ->setComment("This parameter is obsolete and will be ignored.");
1798  desc.addOptionalNode(edm::ParameterDescription<bool>("enableDQMbyModuleType", false, false), false)
1799  ->setComment("This parameter is obsolete and will be ignored.");
1800  desc.addOptionalNode(edm::ParameterDescription<bool>("enableDQMSummary", false, false), false)
1801  ->setComment("This parameter is obsolete and will be ignored.");
1802 
1803  descriptions.add("FastTimerService", desc);
1804 }

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

◆ ignoredSignal()

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

Definition at line 886 of file FastTimerService.cc.

886  {
887  LogDebug("FastTimerService") << "The FastTimerService received is currently not monitoring the signal \"" << signal
888  << "\".\n";
889 }

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

1421  {
1422  // release-acquire semantic guarantees that all writes in this and other threads are visible
1423  // after this operation; full sequentially-consistent ordering is (probably) not needed.
1424  unsigned int old_value = check.fetch_add(1, std::memory_order_acq_rel);
1425  return (old_value == callgraph_.processes().size() - 1);
1426 }

References RPCNoise_example::check.

◆ on_scheduler_entry()

void FastTimerService::on_scheduler_entry ( bool  worker)
finalprivate

Definition at line 1722 of file FastTimerService.cc.

1722  {
1724  // initialise the measurement point for a thread that has newly joined the TBB pool
1725  thread().measure();
1726  }
1727 }

References guard_, FastTimerService::Measurement::measure(), overhead_, FastTimerService::ThreadGuard::register_thread(), and thread().

◆ on_scheduler_exit()

void FastTimerService::on_scheduler_exit ( bool  worker)
finalprivate

Definition at line 1729 of file FastTimerService.cc.

1729 {}

◆ postBeginJob()

void FastTimerService::postBeginJob ( )
private

Definition at line 983 of file FastTimerService.cc.

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

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

◆ postEndJob()

void FastTimerService::postEndJob ( )
private

Definition at line 1103 of file FastTimerService.cc.

1103  {
1104  // stop observing to avoid potential race conditions at exit
1105  tbb::task_scheduler_observer::observe(false);
1106  guard_.finalize();
1107  if (print_job_summary_) {
1108  edm::LogVerbatim out("FastReport");
1109  printSummary(out, job_summary_, "Job");
1110  }
1111  if (write_json_summary_) {
1113  }
1114 }

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

◆ postEvent()

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

Definition at line 1430 of file FastTimerService.cc.

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

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

1594  {
1595  ignoredSignal(__func__);
1596 }

◆ postGlobalBeginLumi()

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

Definition at line 1039 of file FastTimerService.cc.

1039 { ignoredSignal(__func__); }

◆ postGlobalBeginRun()

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

Definition at line 937 of file FastTimerService.cc.

937 { ignoredSignal(__func__); }

◆ postGlobalEndLumi()

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

Definition at line 1043 of file FastTimerService.cc.

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

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

◆ postGlobalEndRun()

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

Definition at line 1072 of file FastTimerService.cc.

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

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

◆ postModuleEvent()

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

Definition at line 1559 of file FastTimerService.cc.

1559  {
1560  edm::ModuleDescription const& md = *mcc.moduleDescription();
1561  unsigned int id = md.id();
1562  unsigned int sid = sc.streamID().value();
1563  auto& stream = streams_[sid];
1564  auto& module = stream.modules[id];
1565 
1566  if (module.has_acquire) {
1567  thread().measure_and_accumulate(module.total);
1568  } else {
1569  thread().measure_and_store(module.total);
1570  }
1571  ++module.events;
1572 }

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

1542  {
1543  edm::ModuleDescription const& md = *mcc.moduleDescription();
1544  unsigned int id = md.id();
1545  unsigned int sid = sc.streamID().value();
1546  auto& stream = streams_[sid];
1547  auto& module = stream.modules[id];
1548 
1549  module.has_acquire = true;
1550  thread().measure_and_store(module.total);
1551 }

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

1578  {
1579  unsupportedSignal(__func__);
1580 }

◆ postModuleEventPrefetching()

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

Definition at line 1586 of file FastTimerService.cc.

1586  {
1587  ignoredSignal(__func__);
1588 }

◆ postModuleGlobalBeginLumi()

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

Definition at line 1620 of file FastTimerService.cc.

1620  {
1621  auto index = gc.luminosityBlockIndex();
1623 }

References edm::GlobalContext::luminosityBlockIndex().

◆ postModuleGlobalBeginRun()

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

Definition at line 1602 of file FastTimerService.cc.

1602  {
1603  auto index = gc.runIndex();
1605 }

References edm::GlobalContext::runIndex().

◆ postModuleGlobalEndLumi()

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

Definition at line 1629 of file FastTimerService.cc.

1629  {
1630  auto index = gc.luminosityBlockIndex();
1632 }

References edm::GlobalContext::luminosityBlockIndex().

◆ postModuleGlobalEndRun()

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

Definition at line 1611 of file FastTimerService.cc.

1611  {
1612  auto index = gc.runIndex();
1614 }

References edm::GlobalContext::runIndex().

◆ postModuleStreamBeginLumi()

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

Definition at line 1656 of file FastTimerService.cc.

1656  {
1657  auto index = sc.luminosityBlockIndex();
1659 }

References edm::StreamContext::luminosityBlockIndex().

◆ postModuleStreamBeginRun()

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

Definition at line 1638 of file FastTimerService.cc.

1638  {
1639  auto index = sc.runIndex();
1641 }

References edm::StreamContext::runIndex().

◆ postModuleStreamEndLumi()

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

Definition at line 1665 of file FastTimerService.cc.

1665  {
1666  auto index = sc.luminosityBlockIndex();
1668 }

References edm::StreamContext::luminosityBlockIndex().

◆ postModuleStreamEndRun()

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

Definition at line 1647 of file FastTimerService.cc.

1647  {
1648  auto index = sc.runIndex();
1650 }

References edm::StreamContext::runIndex().

◆ postPathEvent()

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

Definition at line 1512 of file FastTimerService.cc.

1514  {
1515  unsigned int sid = sc.streamID().value();
1516  unsigned int pid = callgraph_.processId(*sc.processContext());
1517  unsigned int id = pc.pathID();
1518  auto& stream = streams_[sid];
1519  auto& data = pc.isEndPath() ? stream.processes[pid].endpaths[id] : stream.processes[pid].paths[id];
1520 
1521  auto const& path =
1523  unsigned int index = path.modules_on_path_.empty() ? 0 : status.index() + 1;
1524  data.last = path.modules_on_path_.empty() ? 0 : path.last_dependency_of_module_[status.index()];
1525 
1526  for (unsigned int i = 0; i < index; ++i) {
1527  auto const& module = stream.modules[path.modules_on_path_[i]];
1528  data.active += module.total;
1529  }
1530  for (unsigned int i = 0; i < data.last; ++i) {
1531  auto const& module = stream.modules[path.modules_and_dependencies_[i]];
1532  data.total += module.total;
1533  }
1534 }

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

1492  {
1494  unsigned int id = md.id();
1495  auto& stream = streams_[sid];
1496  auto& module = stream.modules[id];
1497 
1498  thread().measure_and_store(module.total);
1499  ++stream.modules[id].events;
1500 }

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

◆ postSourceLumi()

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

Definition at line 1099 of file FastTimerService.cc.

1099  {
1101 }

◆ postSourceRun()

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

Definition at line 1095 of file FastTimerService.cc.

◆ postStreamBeginLumi()

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

Definition at line 1064 of file FastTimerService.cc.

1064 { ignoredSignal(__func__); }

◆ postStreamBeginRun()

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

Definition at line 1022 of file FastTimerService.cc.

1022 { ignoredSignal(__func__); }

◆ postStreamEndLumi()

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

Definition at line 1068 of file FastTimerService.cc.

1068 { ignoredSignal(__func__); }

◆ postStreamEndRun()

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

Definition at line 1026 of file FastTimerService.cc.

1026 { ignoredSignal(__func__); }

◆ preallocate()

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

Definition at line 941 of file FastTimerService.cc.

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

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

◆ preBeginJob()

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

Definition at line 978 of file FastTimerService.cc.

979  {
980  callgraph_.preBeginJob(pathsAndConsumes, context);
981 }

◆ preEvent()

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

Definition at line 1428 of file FastTimerService.cc.

1428 { ignoredSignal(__func__); }

◆ preEventReadFromSource()

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

Definition at line 1590 of file FastTimerService.cc.

1590  {
1591  ignoredSignal(__func__);
1592 }

◆ preGlobalBeginLumi()

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

Definition at line 1028 of file FastTimerService.cc.

1028  {
1029  ignoredSignal(__func__);
1030 
1031  // reset the lumi counters only during the main process being run
1032  if (isFirstSubprocess(gc)) {
1033  auto index = gc.luminosityBlockIndex();
1035  lumi_transition_[index].reset();
1036  }
1037 }

References edm::GlobalContext::luminosityBlockIndex().

◆ preGlobalBeginRun()

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

Definition at line 899 of file FastTimerService.cc.

899  {
900  ignoredSignal(__func__);
901 
902  // reset the run counters only during the main process being run
903  if (isFirstSubprocess(gc)) {
904  auto index = gc.runIndex();
906  run_transition_[index].reset();
907  run_summary_[index].reset();
908 
909  // book the DQM plots
910  if (enable_dqm_) {
911  // define a callback to book the MonitorElements
912  auto bookTransactionCallback = [&, this](dqm::reco::DQMStore::IBooker& booker, dqm::reco::DQMStore::IGetter&) {
913  auto scope = dqm::reco::DQMStore::IBooker::UseRunScope(booker);
914  // we should really do this, but only DQMStore is allowed to touch it
915  // We could move to postGlobalBeginRun, then the DQMStore has sure set it up.
916  //booker.setRunLumi(gc.luminosityBlockID());
917  booker.setCurrentFolder(dqm_path_);
918  plots_->book(booker,
919  callgraph_,
929  };
930 
931  // book MonitorElements for this stream
932  edm::Service<dqm::legacy::DQMStore>()->meBookerGetter(bookTransactionCallback);
933  }
934  }
935 }

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

◆ preGlobalEndLumi()

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

Definition at line 1041 of file FastTimerService.cc.

1041 { ignoredSignal(__func__); }

◆ preGlobalEndRun()

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

Definition at line 1070 of file FastTimerService.cc.

1070 { ignoredSignal(__func__); }

◆ preModuleEvent()

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

Definition at line 1553 of file FastTimerService.cc.

1553  {
1554  unsigned int sid = sc.streamID().value();
1555  auto& stream = streams_[sid];
1556  thread().measure_and_accumulate(stream.overhead);
1557 }

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

1536  {
1537  unsigned int sid = sc.streamID().value();
1538  auto& stream = streams_[sid];
1539  thread().measure_and_accumulate(stream.overhead);
1540 }

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

1574  {
1575  unsupportedSignal(__func__);
1576 }

◆ preModuleEventPrefetching()

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

Definition at line 1582 of file FastTimerService.cc.

1582  {
1583  ignoredSignal(__func__);
1584 }

◆ preModuleGlobalBeginLumi()

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

Definition at line 1616 of file FastTimerService.cc.

1616  {
1618 }

◆ preModuleGlobalBeginRun()

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

Definition at line 1598 of file FastTimerService.cc.

1598  {
1600 }

◆ preModuleGlobalEndLumi()

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

Definition at line 1625 of file FastTimerService.cc.

1625  {
1627 }

◆ preModuleGlobalEndRun()

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

Definition at line 1607 of file FastTimerService.cc.

1607  {
1609 }

◆ preModuleStreamBeginLumi()

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

Definition at line 1652 of file FastTimerService.cc.

1652  {
1654 }

◆ preModuleStreamBeginRun()

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

Definition at line 1634 of file FastTimerService.cc.

1634  {
1636 }

◆ preModuleStreamEndLumi()

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

Definition at line 1661 of file FastTimerService.cc.

1661  {
1663 }

◆ preModuleStreamEndRun()

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

Definition at line 1643 of file FastTimerService.cc.

1643  {
1645 }

◆ prePathEvent()

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

Definition at line 1502 of file FastTimerService.cc.

1502  {
1503  unsigned int sid = sc.streamID().value();
1504  unsigned int pid = callgraph_.processId(*sc.processContext());
1505  unsigned int id = pc.pathID();
1506  auto& stream = streams_[sid];
1507  auto& data = pc.isEndPath() ? stream.processes[pid].endpaths[id] : stream.processes[pid].paths[id];
1508  data.status = false;
1509  data.last = 0;
1510 }

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

974  {
976 }

◆ preSourceEvent()

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

Definition at line 1478 of file FastTimerService.cc.

1478  {
1479  // clear the event counters
1480  auto& stream = streams_[sid];
1481  stream.reset();
1482  ++stream.events;
1483 
1484  subprocess_event_check_[sid] = 0;
1485 
1486  // reuse the same measurement for the Source module and for the explicit begin of the Event
1487  auto& measurement = thread();
1488  measurement.measure_and_accumulate(stream.overhead);
1489  stream.event_measurement = measurement;
1490 }

References cms::cuda::stream.

◆ preSourceLumi()

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

Definition at line 1097 of file FastTimerService.cc.

◆ preSourceRun()

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

Definition at line 1093 of file FastTimerService.cc.

◆ preStreamBeginLumi()

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

Definition at line 1062 of file FastTimerService.cc.

1062 { ignoredSignal(__func__); }

◆ preStreamBeginRun()

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

Definition at line 939 of file FastTimerService.cc.

939 { ignoredSignal(__func__); }

◆ preStreamEndLumi()

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

Definition at line 1066 of file FastTimerService.cc.

1066 { ignoredSignal(__func__); }

◆ preStreamEndRun()

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

Definition at line 1024 of file FastTimerService.cc.

1024 { 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 1156 of file FastTimerService.cc.

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

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

1130  {
1131  out << "FastReport CPU time Real time Allocated Deallocated " << label << "\n";
1132  // FastReport ########.# ms ########.# ms +######### kB -######### kB ...
1133 }

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

1146  {
1147  out << fmt::sprintf("FastReport %10.1f ms %10.1f ms %+10d kB %+10d kB %s\n",
1148  ms(boost::chrono::nanoseconds(data.time_thread.load())),
1149  ms(boost::chrono::nanoseconds(data.time_real.load())),
1150  +static_cast<int64_t>(kB(data.allocated)),
1151  -static_cast<int64_t>(kB(data.deallocated)),
1152  label);
1153 }

References data, label, and MillePedeFileConverter_cfg::out.

◆ printEventLine() [3/4]

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

◆ printEventLine() [4/4]

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

Definition at line 1136 of file FastTimerService.cc.

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

References data, label, and MillePedeFileConverter_cfg::out.

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

1117  {
1118  out << "FastReport ";
1119  if (label.size() < 60)
1120  for (unsigned int i = (60 - label.size()) / 2; i > 0; --i)
1121  out << '-';
1122  out << ' ' << label << " Summary ";
1123  if (label.size() < 60)
1124  for (unsigned int i = (59 - label.size()) / 2; i > 0; --i)
1125  out << '-';
1126  out << '\n';
1127 }

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

1221  {
1222  // clang-format off
1223  out << "FastReport CPU time sched. / depend. Real time sched. / depend. Alloc. sched. / depend. Dealloc. sched. / depend. ";
1224  // FastReport ########.# ms ########.# ms ########.# ms ########.# ms +######### kB +######### kB -######### kB -######### kB ...
1225  out << label << '\n';
1226  // clang-format on
1227 }

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

1294  {
1295  out << fmt::sprintf(
1296  "FastReport %10.1f ms %10.1f ms %10.1f ms %10.1f ms %+10d kB %+10d kB %+10d kB %+10d kB %s\n",
1297  (events ? ms(data.time_thread) / events : 0),
1298  (events ? ms(total.time_thread) / events : 0),
1299  (events ? ms(data.time_real) / events : 0),
1300  (events ? ms(total.time_real) / events : 0),
1301  (events ? +static_cast<int64_t>(kB(data.allocated) / events) : 0),
1302  (events ? +static_cast<int64_t>(kB(total.allocated) / events) : 0),
1303  (events ? -static_cast<int64_t>(kB(data.deallocated) / events) : 0),
1304  (events ? -static_cast<int64_t>(kB(total.deallocated) / events) : 0),
1305  label);
1306 }

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

◆ printSummary() [1/2]

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

◆ printSummary() [2/2]

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

Definition at line 1309 of file FastTimerService.cc.

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

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

1208  {
1209  // clang-format off
1210  if (detailed)
1211  out << "FastReport CPU time avg. when run Real time avg. when run Alloc. avg. when run Dealloc. avg. when run ";
1212  // FastReport ########.# ms ########.# ms ########.# ms ########.# ms +######### kB +######### kB -######### kB -######### kB ...
1213  else
1214  out << "FastReport CPU time avg. Real time avg. Alloc. avg. Dealloc. avg. ";
1215  // FastReport ########.# ms ########.# ms +######### kB -######### kB ...
1216  out << label << '\n';
1217  // clang-format on
1218 }

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

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

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

◆ printSummaryLine() [3/8]

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

◆ printSummaryLine() [4/8]

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

Definition at line 1243 of file FastTimerService.cc.

1244  {
1245  out << fmt::sprintf(
1246  // clang-format off
1247  "FastReport %10.1f ms %10.1f ms %10.1f ms %10.1f ms %+10d kB %+10d kB %+10d kB %+10d kB %s\n",
1248  // clang-format on
1249  (events ? ms(data.time_thread) / events : 0),
1250  (active ? ms(data.time_thread) / active : 0),
1251  (events ? ms(data.time_real) / events : 0),
1252  (active ? ms(data.time_real) / active : 0),
1253  (events ? +static_cast<int64_t>(kB(data.allocated) / events) : 0),
1254  (active ? +static_cast<int64_t>(kB(data.allocated) / active) : 0),
1255  (events ? -static_cast<int64_t>(kB(data.deallocated) / events) : 0),
1256  (active ? -static_cast<int64_t>(kB(data.deallocated) / active) : 0),
1257  label);
1258 }

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

◆ printSummaryLine() [5/8]

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

◆ printSummaryLine() [6/8]

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

Definition at line 1230 of file FastTimerService.cc.

1230  {
1231  out << fmt::sprintf(
1232  // clang-format off
1233  "FastReport %10.1f ms %10.1f ms %+10d kB %+10d kB %s\n",
1234  // clang-format on
1235  (events ? ms(data.time_thread) / events : 0),
1236  (events ? ms(data.time_real) / events : 0),
1237  (events ? +static_cast<int64_t>(kB(data.allocated) / events) : 0),
1238  (events ? -static_cast<int64_t>(kB(data.deallocated) / events) : 0),
1239  label);
1240 }

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

◆ printSummaryLine() [7/8]

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

◆ printSummaryLine() [8/8]

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

Definition at line 1277 of file FastTimerService.cc.

1278  {
1279  out << fmt::sprintf(
1280  "FastReport %10.1f ms %10.1f ms %10.1f ms %10.1f ms %+10d kB %+10d kB %+10d kB %+10d kB %s\n",
1281  (events ? ms(data.time_thread) / events : 0),
1282  (active ? ms(data.time_thread) / active : 0),
1283  (events ? ms(data.time_real) / events : 0),
1284  (active ? ms(data.time_real) / active : 0),
1285  (events ? +static_cast<int64_t>(kB(data.allocated) / events) : 0),
1286  (active ? +static_cast<int64_t>(kB(data.allocated) / active) : 0),
1287  (events ? -static_cast<int64_t>(kB(data.deallocated) / events) : 0),
1288  (active ? -static_cast<int64_t>(kB(data.deallocated) / active) : 0),
1289  label);
1290 }

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

◆ printTransition() [1/2]

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

◆ printTransition() [2/2]

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

Definition at line 1361 of file FastTimerService.cc.

1361  {
1362  printEventHeader(out, "Transition");
1364 }

References data, label, and MillePedeFileConverter_cfg::out.

◆ thread()

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

Definition at line 1731 of file FastTimerService.cc.

1731 { return guard_.thread(); }

References guard_, and FastTimerService::ThreadGuard::thread().

Referenced by on_scheduler_entry().

◆ unsupportedSignal()

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

Definition at line 891 of file FastTimerService.cc.

891  {
892  // warn about each signal only once per job
893  if (unsupported_signals_.insert(signal).second)
894  edm::LogWarning("FastTimerService") << "The FastTimerService received the unsupported signal \"" << signal
895  << "\".\n"
896  << "Please report how to reproduce the issue to cms-hlt@cern.ch .";
897 }

◆ writeSummaryJSON()

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

Definition at line 1384 of file FastTimerService.cc.

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

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

Member Data Documentation

◆ callgraph_

ProcessCallGraph FastTimerService::callgraph_
private

Definition at line 441 of file FastTimerService.h.

◆ concurrent_lumis_

unsigned int FastTimerService::concurrent_lumis_
private

Definition at line 496 of file FastTimerService.h.

◆ concurrent_runs_

unsigned int FastTimerService::concurrent_runs_
private

Definition at line 497 of file FastTimerService.h.

◆ concurrent_streams_

unsigned int FastTimerService::concurrent_streams_
private

Definition at line 498 of file FastTimerService.h.

◆ concurrent_threads_

unsigned int FastTimerService::concurrent_threads_
private

Definition at line 499 of file FastTimerService.h.

◆ dqm_event_ranges_

const PlotRanges FastTimerService::dqm_event_ranges_
private

Definition at line 521 of file FastTimerService.h.

◆ dqm_lumisections_range_

const unsigned int FastTimerService::dqm_lumisections_range_
private

Definition at line 524 of file FastTimerService.h.

◆ dqm_module_ranges_

const PlotRanges FastTimerService::dqm_module_ranges_
private

Definition at line 523 of file FastTimerService.h.

◆ dqm_path_

std::string FastTimerService::dqm_path_
private

Definition at line 525 of file FastTimerService.h.

◆ dqm_path_ranges_

const PlotRanges FastTimerService::dqm_path_ranges_
private

Definition at line 522 of file FastTimerService.h.

◆ enable_dqm_

bool FastTimerService::enable_dqm_
private

Definition at line 514 of file FastTimerService.h.

◆ enable_dqm_byls_

const bool FastTimerService::enable_dqm_byls_
private

Definition at line 517 of file FastTimerService.h.

◆ enable_dqm_bymodule_

const bool FastTimerService::enable_dqm_bymodule_
private

Definition at line 515 of file FastTimerService.h.

◆ enable_dqm_bynproc_

const bool FastTimerService::enable_dqm_bynproc_
private

Definition at line 518 of file FastTimerService.h.

◆ enable_dqm_bypath_

const bool FastTimerService::enable_dqm_bypath_
private

Definition at line 516 of file FastTimerService.h.

◆ enable_dqm_transitions_

const bool FastTimerService::enable_dqm_transitions_
private

Definition at line 519 of file FastTimerService.h.

◆ guard_

ThreadGuard FastTimerService::guard_
private

Definition at line 485 of file FastTimerService.h.

Referenced by on_scheduler_entry(), and thread().

◆ highlight_module_psets_

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

Definition at line 527 of file FastTimerService.h.

◆ highlight_modules_

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

Definition at line 528 of file FastTimerService.h.

◆ job_summary_

ResourcesPerJob FastTimerService::job_summary_
private

Definition at line 455 of file FastTimerService.h.

◆ json_filename_

const std::string FastTimerService::json_filename_
private

Definition at line 511 of file FastTimerService.h.

◆ lumi_transition_

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

Definition at line 450 of file FastTimerService.h.

◆ overhead_

AtomicResources FastTimerService::overhead_
private

◆ plots_

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

Definition at line 447 of file FastTimerService.h.

◆ print_event_summary_

const bool FastTimerService::print_event_summary_
private

Definition at line 502 of file FastTimerService.h.

◆ print_job_summary_

const bool FastTimerService::print_job_summary_
private

Definition at line 504 of file FastTimerService.h.

◆ print_run_summary_

const bool FastTimerService::print_run_summary_
private

Definition at line 503 of file FastTimerService.h.

◆ run_summary_

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

Definition at line 456 of file FastTimerService.h.

◆ run_transition_

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

Definition at line 451 of file FastTimerService.h.

◆ streams_

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

Definition at line 444 of file FastTimerService.h.

◆ subprocess_event_check_

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

Definition at line 488 of file FastTimerService.h.

◆ subprocess_global_lumi_check_

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

Definition at line 489 of file FastTimerService.h.

◆ subprocess_global_run_check_

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

Definition at line 490 of file FastTimerService.h.

◆ summary_mutex_

std::mutex FastTimerService::summary_mutex_
private

Definition at line 457 of file FastTimerService.h.

◆ unsupported_signals_

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

Definition at line 531 of file FastTimerService.h.

◆ write_json_summary_

const bool FastTimerService::write_json_summary_
private

Definition at line 510 of file FastTimerService.h.

FastTimerService::enable_dqm_bynproc_
const bool enable_dqm_bynproc_
Definition: FastTimerService.h:518
SummaryClient_cfi.labels
labels
Definition: SummaryClient_cfi.py:61
FastTimerService::preSourceEvent
void preSourceEvent(edm::StreamID)
Definition: FastTimerService.cc:1478
FastTimerService::json_filename_
const std::string json_filename_
Definition: FastTimerService.h:511
edm::ModuleDescription::moduleLabel
std::string const & moduleLabel() const
Definition: ModuleDescription.h:43
FastTimerService::concurrent_threads_
unsigned int concurrent_threads_
Definition: FastTimerService.h:499
FastTimerService::ThreadGuard::finalize
void finalize()
Definition: FastTimerService.cc:1709
ProcessCallGraph::processes
const std::vector< ProcessType > & processes() const
Definition: ProcessCallGraph.cc:275
edm::ActivityRegistry::watchPostStreamEndLumi
void watchPostStreamEndLumi(PostStreamEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:450
edm::ActivityRegistry::watchPostModuleGlobalEndRun
void watchPostModuleGlobalEndRun(PostModuleGlobalEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:956
FastTimerService::postSourceEvent
void postSourceEvent(edm::StreamID)
Definition: FastTimerService.cc:1492
FastTimerService::preBeginJob
void preBeginJob(edm::PathsAndConsumesOfModulesBase const &, edm::ProcessContext const &)
Definition: FastTimerService.cc:978
FastTimerService::printEvent
void printEvent(T &out, ResourcesPerJob const &) const
FastTimerService::preModuleStreamBeginLumi
void preModuleStreamBeginLumi(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1652
FastTimerService::callgraph_
ProcessCallGraph callgraph_
Definition: FastTimerService.h:441
mps_fire.i
i
Definition: mps_fire.py:428
LogMessageMonitor_cff.modules
modules
Definition: LogMessageMonitor_cff.py:7
FastTimerService::streams_
std::vector< ResourcesPerJob > streams_
Definition: FastTimerService.h:444
FastTimerService::preModuleGlobalBeginRun
void preModuleGlobalBeginRun(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1598
FastTimerService::concurrent_streams_
unsigned int concurrent_streams_
Definition: FastTimerService.h:498
FastTimerService::preSourceLumi
void preSourceLumi(edm::LuminosityBlockIndex)
Definition: FastTimerService.cc:1097
FastTimerService::Measurement::measure
void measure() noexcept
Definition: FastTimerService.cc:309
FastTimerService::highlight_module_psets_
std::vector< edm::ParameterSet > highlight_module_psets_
Definition: FastTimerService.h:527
edm::ActivityRegistry::watchPostSourceRun
void watchPostSourceRun(PostSourceRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:214
edm::ActivityRegistry::watchPreSourceLumi
void watchPreSourceLumi(PreSourceLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:196
edm::ActivityRegistry::watchPostGlobalEndRun
void watchPostGlobalEndRun(PostGlobalEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:334
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:871
mps_update.status
status
Definition: mps_update.py:69
FastTimerService::postEvent
void postEvent(edm::StreamContext const &)
Definition: FastTimerService.cc:1430
modules
Definition: MuonCleanerBySegments.cc:35
FastTimerService::postModuleEvent
void postModuleEvent(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1559
FastTimerService::print_job_summary_
const bool print_job_summary_
Definition: FastTimerService.h:504
FastTimerService::preSourceConstruction
void preSourceConstruction(edm::ModuleDescription const &)
Definition: FastTimerService.cc:974
AlCaHLTBitMon_ParallelJobs.p
p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
FastTimerService::preGlobalBeginLumi
void preGlobalBeginLumi(edm::GlobalContext const &)
Definition: FastTimerService.cc:1028
cms::cuda::stream
cudaStream_t stream
Definition: HistoContainer.h:57
FastTimerService::postEndJob
void postEndJob()
Definition: FastTimerService.cc:1103
FastTimerService::overhead_
AtomicResources overhead_
Definition: FastTimerService.h:452
edm::ActivityRegistry::watchPostGlobalEndLumi
void watchPostGlobalEndLumi(PostGlobalEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:410
FastTimerService::concurrent_runs_
unsigned int concurrent_runs_
Definition: FastTimerService.h:497
FastTimerService::enable_dqm_bypath_
const bool enable_dqm_bypath_
Definition: FastTimerService.h:516
FastTimerService::run_summary_
std::vector< ResourcesPerJob > run_summary_
Definition: FastTimerService.h:456
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:1647
FastTimerService::enable_dqm_transitions_
const bool enable_dqm_transitions_
Definition: FastTimerService.h:519
FastTimerService::writeSummaryJSON
void writeSummaryJSON(ResourcesPerJob const &data, std::string const &filename) const
Definition: FastTimerService.cc:1384
FastTimerService::dqm_module_ranges_
const PlotRanges dqm_module_ranges_
Definition: FastTimerService.h:523
FastTimerService::job_summary_
ResourcesPerJob job_summary_
Definition: FastTimerService.h:455
FastTimerService::concurrent_lumis_
unsigned int concurrent_lumis_
Definition: FastTimerService.h:496
FastTimerService::dqm_event_ranges_
const PlotRanges dqm_event_ranges_
Definition: FastTimerService.h:521
FastTimerService::preGlobalBeginRun
void preGlobalBeginRun(edm::GlobalContext const &)
Definition: FastTimerService.cc:899
edm::ActivityRegistry::watchPostModuleGlobalBeginRun
void watchPostModuleGlobalBeginRun(PostModuleGlobalBeginRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:942
FastTimerService::isLastSubprocess
bool isLastSubprocess(std::atomic< unsigned int > &check)
Definition: FastTimerService.cc:1421
mps_check.array
array
Definition: mps_check.py:216
ProcessCallGraph::processDescription
const ProcessType & processDescription(unsigned int) const
Definition: ProcessCallGraph.cc:278
edm::ActivityRegistry::watchPostModuleStreamEndRun
void watchPostModuleStreamEndRun(PostModuleStreamEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:857
FastTimerService::postSourceLumi
void postSourceLumi(edm::LuminosityBlockIndex)
Definition: FastTimerService.cc:1099
FastTimerService::preModuleEvent
void preModuleEvent(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1553
FastTimerService::unsupportedSignal
void unsupportedSignal(const std::string &signal) const
Definition: FastTimerService.cc:891
FastTimerService::preModuleEventAcquire
void preModuleEventAcquire(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1536
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:836
edm::ActivityRegistry::watchPreStreamBeginRun
void watchPreStreamBeginRun(PreStreamBeginRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:367
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:490
groupFilesInBlocks.temp
list temp
Definition: groupFilesInBlocks.py:142
ProcessCallGraph::ProcessType::paths_
std::vector< PathType > paths_
Definition: ProcessCallGraph.h:82
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
FastTimerService::enable_dqm_
bool enable_dqm_
Definition: FastTimerService.h:514
FastTimerService::subprocess_global_lumi_check_
std::unique_ptr< std::atomic< unsigned int >[]> subprocess_global_lumi_check_
Definition: FastTimerService.h:489
FastTimerService::dqm_path_
std::string dqm_path_
Definition: FastTimerService.h:525
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:941
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:139
FastTimerService::print_run_summary_
const bool print_run_summary_
Definition: FastTimerService.h:503
edm::ActivityRegistry::watchPostSourceEvent
void watchPostSourceEvent(PostSourceEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:190
FastTimerService::postModuleGlobalBeginRun
void postModuleGlobalBeginRun(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1602
FastTimerService::ignoredSignal
void ignoredSignal(const std::string &signal) const
Definition: FastTimerService.cc:886
FastTimerService::highlight_modules_
std::vector< GroupOfModules > highlight_modules_
Definition: FastTimerService.h:528
config
Definition: config.py:1
FastTimerService::postGlobalEndRun
void postGlobalEndRun(edm::GlobalContext const &)
Definition: FastTimerService.cc:1072
FastTimerService::dqm_path_ranges_
const PlotRanges dqm_path_ranges_
Definition: FastTimerService.h:522
edm::ActivityRegistry::watchPreModuleGlobalBeginLumi
void watchPreModuleGlobalBeginLumi(PreModuleGlobalBeginLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:963
alignCSCRings.s
s
Definition: alignCSCRings.py:92
FastTimerService::lumi_transition_
std::vector< AtomicResources > lumi_transition_
Definition: FastTimerService.h:450
FastTimerService::postModuleGlobalEndLumi
void postModuleGlobalEndLumi(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1629
edm::ActivityRegistry::watchPreModuleStreamEndLumi
void watchPreModuleStreamEndLumi(PreModuleStreamEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:878
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:1665
edm::ActivityRegistry::watchPostEndJob
void watchPostEndJob(PostEndJob::slot_type const &iSlot)
Definition: ActivityRegistry.h:170
edm::ActivityRegistry::watchPreStreamBeginLumi
void watchPreStreamBeginLumi(PreStreamBeginLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:431
FastTimerService::preStreamBeginLumi
void preStreamBeginLumi(edm::StreamContext const &)
Definition: FastTimerService.cc:1062
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:1611
FastTimerService::ThreadGuard::thread
Measurement & thread()
Definition: FastTimerService.cc:1718
FastTimerService::enable_dqm_byls_
const bool enable_dqm_byls_
Definition: FastTimerService.h:517
edm::ActivityRegistry::watchPreBeginJob
void watchPreBeginJob(PreBeginJob::slot_type const &iSlot)
convenience function for attaching to signal
Definition: ActivityRegistry.h:151
ProcessCallGraph::ProcessType::name_
std::string name_
Definition: ProcessCallGraph.h:79
FastTimerService::preModuleGlobalBeginLumi
void preModuleGlobalBeginLumi(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1616
edm::ActivityRegistry::watchPostModuleEventDelayedGet
void watchPostModuleEventDelayedGet(PostModuleEventDelayedGet::slot_type const &iSlot)
Definition: ActivityRegistry.h:813
FastTimerService::preStreamBeginRun
void preStreamBeginRun(edm::StreamContext const &)
Definition: FastTimerService.cc:939
FastTimerService::postModuleStreamBeginRun
void postModuleStreamBeginRun(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1638
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:458
FastTimerService::isFirstSubprocess
bool isFirstSubprocess(edm::StreamContext const &)
source
static const std::string source
Definition: EdmProvDump.cc:47
FastTimerService::preModuleStreamEndRun
void preModuleStreamEndRun(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1643
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:158
edm::ActivityRegistry::watchPreModuleStreamBeginLumi
void watchPreModuleStreamBeginLumi(PreModuleStreamBeginLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:864
FastTimerService::plots_
std::unique_ptr< PlotsPerJob > plots_
Definition: FastTimerService.h:447
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:1112
edm::ActivityRegistry::watchPreSourceRun
void watchPreSourceRun(PreSourceRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:208
FastTimerService::unsupported_signals_
tbb::concurrent_unordered_set< std::string > unsupported_signals_
Definition: FastTimerService.h:531
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
edm::ActivityRegistry::watchPostSourceLumi
void watchPostSourceLumi(PostSourceLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:202
FastTimerService::preModuleStreamEndLumi
void preModuleStreamEndLumi(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1661
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:977
FastTimerService::postModuleEventAcquire
void postModuleEventAcquire(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1542
edm::ActivityRegistry::watchPreModuleStreamEndRun
void watchPreModuleStreamEndRun(PreModuleStreamEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:850
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:233
edm::ActivityRegistry::watchPostEvent
void watchPostEvent(PostEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:464
FastTimerService::summary_mutex_
std::mutex summary_mutex_
Definition: FastTimerService.h:457
ValidateTausOnZEEFastSim_cff.proc
proc
Definition: ValidateTausOnZEEFastSim_cff.py:6
FastTimerService::write_json_summary_
const bool write_json_summary_
Definition: FastTimerService.h:510
edm::ActivityRegistry::watchPostModuleGlobalEndLumi
void watchPostModuleGlobalEndLumi(PostModuleGlobalEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:984
FastTimerService::preModuleGlobalEndRun
void preModuleGlobalEndRun(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1607
type
type
Definition: SiPixelVCal_PayloadInspector.cc:37
LaserDQM_cfg.process
process
Definition: LaserDQM_cfg.py:3
jetUpdater_cfi.sort
sort
Definition: jetUpdater_cfi.py:29
FastTimerService::dqm_lumisections_range_
const unsigned int dqm_lumisections_range_
Definition: FastTimerService.h:524
FastTimerService::postModuleStreamBeginLumi
void postModuleStreamBeginLumi(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1656
FastTimerService::Measurement::measure_and_store
void measure_and_store(Resources &store) noexcept
Definition: FastTimerService.cc:319
edm::Service
Definition: Service.h:30
FastTimerService::Measurement::measure_and_accumulate
void measure_and_accumulate(Resources &store) noexcept
Definition: FastTimerService.cc:337
FastTimerService::preModuleGlobalEndLumi
void preModuleGlobalEndLumi(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1625
edm::ActivityRegistry::watchPostPathEvent
void watchPostPathEvent(PostPathEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:476
edm::ActivityRegistry::watchPreModuleGlobalEndRun
void watchPreModuleGlobalEndRun(PreModuleGlobalEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:949
FastTimerService::ThreadGuard::register_thread
bool register_thread(FastTimerService::AtomicResources &r)
Definition: FastTimerService.cc:1678
FastTimerService::postModuleGlobalBeginLumi
void postModuleGlobalBeginLumi(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1620
edm::ActivityRegistry::watchPostModuleStreamEndLumi
void watchPostModuleStreamEndLumi(PostModuleStreamEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:885
FastTimerService::postStreamEndLumi
void postStreamEndLumi(edm::StreamContext const &)
Definition: FastTimerService.cc:1068
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:488
edm::ActivityRegistry::watchPreallocate
void watchPreallocate(Preallocate::slot_type const &iSlot)
Definition: ActivityRegistry.h:144
ProcessCallGraph::source
const edm::ModuleDescription & source() const
Definition: ProcessCallGraph.cc:142
FastTimerService::preModuleStreamBeginRun
void preModuleStreamBeginRun(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1634
FastTimerService::thread
Measurement & thread()
Definition: FastTimerService.cc:1731
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
edm::ActivityRegistry::watchPreGlobalBeginLumi
void watchPreGlobalBeginLumi(PreGlobalBeginLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:391
FastTimerService::guard_
ThreadGuard guard_
Definition: FastTimerService.h:485
edm::ActivityRegistry::watchPostModuleEvent
void watchPostModuleEvent(PostModuleEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:783
edm::ActivityRegistry::watchPreModuleGlobalBeginRun
void watchPreModuleGlobalBeginRun(PreModuleGlobalBeginRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:935
FastTimerService::prePathEvent
void prePathEvent(edm::StreamContext const &, edm::PathContext const &)
Definition: FastTimerService.cc:1502
FastTimerService::postPathEvent
void postPathEvent(edm::StreamContext const &, edm::PathContext const &, edm::HLTPathStatus const &)
Definition: FastTimerService.cc:1512
FastTimerService::postGlobalEndLumi
void postGlobalEndLumi(edm::GlobalContext const &)
Definition: FastTimerService.cc:1043
triggerObjects_cff.id
id
Definition: triggerObjects_cff.py:29
dqm::implementation::IGetter
Definition: DQMStore.h:484
edm::ActivityRegistry::watchPostModuleEventAcquire
void watchPostModuleEventAcquire(PostModuleEventAcquire::slot_type const &iSlot)
Definition: ActivityRegistry.h:797
FastTimerService::preModuleEventDelayedGet
void preModuleEventDelayedGet(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1574
edm::ActivityRegistry::watchPreSourceEvent
void watchPreSourceEvent(PreSourceEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:184
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:1578
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:970
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:255
edm::ActivityRegistry::watchPreGlobalBeginRun
void watchPreGlobalBeginRun(PreGlobalBeginRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:317
FastTimerService::postSourceRun
void postSourceRun(edm::RunIndex)
Definition: FastTimerService.cc:1095
edm::ActivityRegistry::watchPrePathEvent
void watchPrePathEvent(PrePathEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:470
processor_model
const std::string processor_model
Definition: processor_model.cc:47
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:46
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
ProcessCallGraph::module
const edm::ModuleDescription & module(unsigned int module) const
Definition: ProcessCallGraph.cc:145
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:789
edm::Log
Definition: MessageLogger.h:70
edm::ParameterDescription
Definition: ParameterDescription.h:110
json
nlohmann::json json
Definition: FastTimerService.cc:21
FastTimerService::run_transition_
std::vector< AtomicResources > run_transition_
Definition: FastTimerService.h:451
edm::ActivityRegistry::watchPreModuleEventDelayedGet
void watchPreModuleEventDelayedGet(PreModuleEventDelayedGet::slot_type const &iSlot)
Definition: ActivityRegistry.h:805
ProcessCallGraph::preBeginJob
void preBeginJob(edm::PathsAndConsumesOfModulesBase const &, edm::ProcessContext const &)
Definition: ProcessCallGraph.cc:64
label
const char * label
Definition: PFTauDecayModeTools.cc:11
edm::ActivityRegistry::watchPostModuleStreamBeginRun
void watchPostModuleStreamBeginRun(PostModuleStreamBeginRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:843
FastTimerService::preSourceRun
void preSourceRun(edm::RunIndex)
Definition: FastTimerService.cc:1093
edm::ActivityRegistry::watchPostStreamEndRun
void watchPostStreamEndRun(PostStreamEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:384
FastTimerService::print_event_summary_
const bool print_event_summary_
Definition: FastTimerService.h:502
FastTimerService::enable_dqm_bymodule_
const bool enable_dqm_bymodule_
Definition: FastTimerService.h:515
FastTimerService::postStreamEndRun
void postStreamEndRun(edm::StreamContext const &)
Definition: FastTimerService.cc:1026
FastTimerService::preEvent
void preEvent(edm::StreamContext const &)
Definition: FastTimerService.cc:1428
edm::ActivityRegistry::watchPreModuleEvent
void watchPreModuleEvent(PreModuleEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:777
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:983
ProcessCallGraph::preSourceConstruction
void preSourceConstruction(edm::ModuleDescription const &)
Definition: ProcessCallGraph.cc:51