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

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

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

References data, and callgraph::module.

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

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

References data, patZpeak::events, and label.

◆ fillDescriptions()

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

Definition at line 1733 of file FastTimerService.cc.

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

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

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

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

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

References RPCNoise_example::check.

◆ on_scheduler_entry()

void FastTimerService::on_scheduler_entry ( bool  worker)
finalprivate

Definition at line 1721 of file FastTimerService.cc.

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

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

1728 {}

◆ postBeginJob()

void FastTimerService::postBeginJob ( )
private

Definition at line 982 of file FastTimerService.cc.

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

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

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

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

◆ postEvent()

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

Definition at line 1429 of file FastTimerService.cc.

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

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

1593  {
1594  ignoredSignal(__func__);
1595 }

◆ postGlobalBeginLumi()

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

Definition at line 1038 of file FastTimerService.cc.

1038 { ignoredSignal(__func__); }

◆ postGlobalBeginRun()

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

Definition at line 936 of file FastTimerService.cc.

936 { ignoredSignal(__func__); }

◆ postGlobalEndLumi()

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

Definition at line 1042 of file FastTimerService.cc.

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

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

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

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

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

References triggerObjects_cff::id, edm::ModuleDescription::id(), callgraph::module, 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 1541 of file FastTimerService.cc.

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

References triggerObjects_cff::id, edm::ModuleDescription::id(), callgraph::module, 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 1577 of file FastTimerService.cc.

1577  {
1578  unsupportedSignal(__func__);
1579 }

◆ postModuleEventPrefetching()

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

Definition at line 1585 of file FastTimerService.cc.

1585  {
1586  ignoredSignal(__func__);
1587 }

◆ postModuleGlobalBeginLumi()

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

Definition at line 1619 of file FastTimerService.cc.

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

References edm::GlobalContext::luminosityBlockIndex().

◆ postModuleGlobalBeginRun()

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

Definition at line 1601 of file FastTimerService.cc.

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

References edm::GlobalContext::runIndex().

◆ postModuleGlobalEndLumi()

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

Definition at line 1628 of file FastTimerService.cc.

1628  {
1629  auto index = gc.luminosityBlockIndex();
1631 }

References edm::GlobalContext::luminosityBlockIndex().

◆ postModuleGlobalEndRun()

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

Definition at line 1610 of file FastTimerService.cc.

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

References edm::GlobalContext::runIndex().

◆ postModuleStreamBeginLumi()

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

Definition at line 1655 of file FastTimerService.cc.

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

References edm::StreamContext::luminosityBlockIndex().

◆ postModuleStreamBeginRun()

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

Definition at line 1637 of file FastTimerService.cc.

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

References edm::StreamContext::runIndex().

◆ postModuleStreamEndLumi()

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

Definition at line 1664 of file FastTimerService.cc.

1664  {
1665  auto index = sc.luminosityBlockIndex();
1667 }

References edm::StreamContext::luminosityBlockIndex().

◆ postModuleStreamEndRun()

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

Definition at line 1646 of file FastTimerService.cc.

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

References edm::StreamContext::runIndex().

◆ postPathEvent()

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

Definition at line 1511 of file FastTimerService.cc.

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

References data, mps_fire::i, triggerObjects_cff::id, edm::PathContext::isEndPath(), callgraph::module, 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 1491 of file FastTimerService.cc.

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

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

◆ postSourceLumi()

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

Definition at line 1098 of file FastTimerService.cc.

1098  {
1100 }

◆ postSourceRun()

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

Definition at line 1094 of file FastTimerService.cc.

◆ postStreamBeginLumi()

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

Definition at line 1063 of file FastTimerService.cc.

1063 { ignoredSignal(__func__); }

◆ postStreamBeginRun()

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

Definition at line 1021 of file FastTimerService.cc.

1021 { ignoredSignal(__func__); }

◆ postStreamEndLumi()

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

Definition at line 1067 of file FastTimerService.cc.

1067 { ignoredSignal(__func__); }

◆ postStreamEndRun()

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

Definition at line 1025 of file FastTimerService.cc.

1025 { ignoredSignal(__func__); }

◆ preallocate()

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

Definition at line 940 of file FastTimerService.cc.

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

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

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

References visDQMUpload::context.

◆ preEvent()

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

Definition at line 1427 of file FastTimerService.cc.

1427 { ignoredSignal(__func__); }

◆ preEventReadFromSource()

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

Definition at line 1589 of file FastTimerService.cc.

1589  {
1590  ignoredSignal(__func__);
1591 }

◆ preGlobalBeginLumi()

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

Definition at line 1027 of file FastTimerService.cc.

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

References edm::GlobalContext::luminosityBlockIndex().

◆ preGlobalBeginRun()

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

Definition at line 898 of file FastTimerService.cc.

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

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

◆ preGlobalEndLumi()

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

Definition at line 1040 of file FastTimerService.cc.

1040 { ignoredSignal(__func__); }

◆ preGlobalEndRun()

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

Definition at line 1069 of file FastTimerService.cc.

1069 { ignoredSignal(__func__); }

◆ preModuleEvent()

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

Definition at line 1552 of file FastTimerService.cc.

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

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

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

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

1573  {
1574  unsupportedSignal(__func__);
1575 }

◆ preModuleEventPrefetching()

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

Definition at line 1581 of file FastTimerService.cc.

1581  {
1582  ignoredSignal(__func__);
1583 }

◆ preModuleGlobalBeginLumi()

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

Definition at line 1615 of file FastTimerService.cc.

1615  {
1617 }

◆ preModuleGlobalBeginRun()

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

Definition at line 1597 of file FastTimerService.cc.

1597  {
1599 }

◆ preModuleGlobalEndLumi()

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

Definition at line 1624 of file FastTimerService.cc.

1624  {
1626 }

◆ preModuleGlobalEndRun()

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

Definition at line 1606 of file FastTimerService.cc.

1606  {
1608 }

◆ preModuleStreamBeginLumi()

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

Definition at line 1651 of file FastTimerService.cc.

1651  {
1653 }

◆ preModuleStreamBeginRun()

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

Definition at line 1633 of file FastTimerService.cc.

1633  {
1635 }

◆ preModuleStreamEndLumi()

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

Definition at line 1660 of file FastTimerService.cc.

1660  {
1662 }

◆ preModuleStreamEndRun()

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

Definition at line 1642 of file FastTimerService.cc.

1642  {
1644 }

◆ prePathEvent()

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

Definition at line 1501 of file FastTimerService.cc.

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

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

973  {
975 }

References callgraph::module.

◆ preSourceEvent()

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

Definition at line 1477 of file FastTimerService.cc.

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

References cms::cuda::stream.

◆ preSourceLumi()

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

Definition at line 1096 of file FastTimerService.cc.

◆ preSourceRun()

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

Definition at line 1092 of file FastTimerService.cc.

◆ preStreamBeginLumi()

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

Definition at line 1061 of file FastTimerService.cc.

1061 { ignoredSignal(__func__); }

◆ preStreamBeginRun()

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

Definition at line 938 of file FastTimerService.cc.

938 { ignoredSignal(__func__); }

◆ preStreamEndLumi()

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

Definition at line 1065 of file FastTimerService.cc.

1065 { ignoredSignal(__func__); }

◆ preStreamEndRun()

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

Definition at line 1023 of file FastTimerService.cc.

1023 { 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 1155 of file FastTimerService.cc.

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

References data, watchdog::group, mps_fire::i, visualization-live-secondInstance_cfg::m, callgraph::module, 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 1129 of file FastTimerService.cc.

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

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

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

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

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

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

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

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

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

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

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

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

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

References data, watchdog::group, mps_fire::i, label, visualization-live-secondInstance_cfg::m, callgraph::module, 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 1207 of file FastTimerService.cc.

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

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

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

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

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

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

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

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

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

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

1360  {
1361  printEventHeader(out, "Transition");
1363 }

References data, label, and MillePedeFileConverter_cfg::out.

◆ thread()

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

Definition at line 1730 of file FastTimerService.cc.

1730 { 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 890 of file FastTimerService.cc.

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

◆ writeSummaryJSON()

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

Definition at line 1383 of file FastTimerService.cc.

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

References mps_check::array, data, corrVsCorr::filename, mps_fire::i, dqmiolumiharvest::j, callgraph::module, 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:1477
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:1708
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:466
edm::ActivityRegistry::watchPostModuleGlobalEndRun
void watchPostModuleGlobalEndRun(PostModuleGlobalEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:972
FastTimerService::postSourceEvent
void postSourceEvent(edm::StreamID)
Definition: FastTimerService.cc:1491
FastTimerService::preBeginJob
void preBeginJob(edm::PathsAndConsumesOfModulesBase const &, edm::ProcessContext const &)
Definition: FastTimerService.cc:977
FastTimerService::printEvent
void printEvent(T &out, ResourcesPerJob const &) const
FastTimerService::preModuleStreamBeginLumi
void preModuleStreamBeginLumi(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1651
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:1597
FastTimerService::concurrent_streams_
unsigned int concurrent_streams_
Definition: FastTimerService.h:498
FastTimerService::preSourceLumi
void preSourceLumi(edm::LuminosityBlockIndex)
Definition: FastTimerService.cc:1096
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:350
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:887
mps_update.status
status
Definition: mps_update.py:68
FastTimerService::postEvent
void postEvent(edm::StreamContext const &)
Definition: FastTimerService.cc:1429
modules
Definition: MuonCleanerBySegments.cc:35
FastTimerService::postModuleEvent
void postModuleEvent(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1558
FastTimerService::print_job_summary_
const bool print_job_summary_
Definition: FastTimerService.h:504
FastTimerService::preSourceConstruction
void preSourceConstruction(edm::ModuleDescription const &)
Definition: FastTimerService.cc:973
FastTimerService::preGlobalBeginLumi
void preGlobalBeginLumi(edm::GlobalContext const &)
Definition: FastTimerService.cc:1027
FastTimerService::postEndJob
void postEndJob()
Definition: FastTimerService.cc:1102
FastTimerService::overhead_
AtomicResources overhead_
Definition: FastTimerService.h:452
edm::ActivityRegistry::watchPostGlobalEndLumi
void watchPostGlobalEndLumi(PostGlobalEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:426
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:1646
cms::cuda::stream
uint32_t const T *__restrict__ const uint32_t *__restrict__ int32_t int Histo::index_type cudaStream_t stream
Definition: HistoContainer.h:51
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:1383
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:898
edm::ActivityRegistry::watchPostModuleGlobalBeginRun
void watchPostModuleGlobalBeginRun(PostModuleGlobalBeginRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:958
FastTimerService::isLastSubprocess
bool isLastSubprocess(std::atomic< unsigned int > &check)
Definition: FastTimerService.cc:1420
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:873
FastTimerService::postSourceLumi
void postSourceLumi(edm::LuminosityBlockIndex)
Definition: FastTimerService.cc:1098
FastTimerService::preModuleEvent
void preModuleEvent(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1552
FastTimerService::unsupportedSignal
void unsupportedSignal(const std::string &signal) const
Definition: FastTimerService.cc:890
FastTimerService::preModuleEventAcquire
void preModuleEventAcquire(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1535
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:852
edm::ActivityRegistry::watchPreStreamBeginRun
void watchPreStreamBeginRun(PreStreamBeginRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:383
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:940
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:1601
visDQMUpload.context
context
Definition: visDQMUpload.py:37
FastTimerService::ignoredSignal
void ignoredSignal(const std::string &signal) const
Definition: FastTimerService.cc:885
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:1071
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:979
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:1628
edm::ActivityRegistry::watchPreModuleStreamEndLumi
void watchPreModuleStreamEndLumi(PreModuleStreamEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:894
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:1664
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:447
FastTimerService::preStreamBeginLumi
void preStreamBeginLumi(edm::StreamContext const &)
Definition: FastTimerService.cc:1061
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:1610
FastTimerService::ThreadGuard::thread
Measurement & thread()
Definition: FastTimerService.cc:1717
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:1615
edm::ActivityRegistry::watchPostModuleEventDelayedGet
void watchPostModuleEventDelayedGet(PostModuleEventDelayedGet::slot_type const &iSlot)
Definition: ActivityRegistry.h:829
FastTimerService::preStreamBeginRun
void preStreamBeginRun(edm::StreamContext const &)
Definition: FastTimerService.cc:938
FastTimerService::postModuleStreamBeginRun
void postModuleStreamBeginRun(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1637
visualization-live-secondInstance_cfg.m
m
Definition: visualization-live-secondInstance_cfg.py:78
edm::ActivityRegistry::watchPreEvent
void watchPreEvent(PreEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:474
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:1642
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:880
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:1128
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
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:1660
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:993
FastTimerService::postModuleEventAcquire
void postModuleEventAcquire(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1541
edm::ActivityRegistry::watchPreModuleStreamEndRun
void watchPreModuleStreamEndRun(PreModuleStreamEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:866
LogDebug
#define LogDebug(id)
Definition: MessageLogger.h:233
edm::ActivityRegistry::watchPostEvent
void watchPostEvent(PostEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:480
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
AlCaHLTBitMon_ParallelJobs.p
def p
Definition: AlCaHLTBitMon_ParallelJobs.py:153
edm::ActivityRegistry::watchPostModuleGlobalEndLumi
void watchPostModuleGlobalEndLumi(PostModuleGlobalEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:1000
FastTimerService::preModuleGlobalEndRun
void preModuleGlobalEndRun(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1606
type
type
Definition: SiPixelVCal_PayloadInspector.cc:39
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:1655
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:1624
edm::ActivityRegistry::watchPostPathEvent
void watchPostPathEvent(PostPathEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:492
edm::ActivityRegistry::watchPreModuleGlobalEndRun
void watchPreModuleGlobalEndRun(PreModuleGlobalEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:965
FastTimerService::ThreadGuard::register_thread
bool register_thread(FastTimerService::AtomicResources &r)
Definition: FastTimerService.cc:1677
FastTimerService::postModuleGlobalBeginLumi
void postModuleGlobalBeginLumi(edm::GlobalContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1619
edm::ActivityRegistry::watchPostModuleStreamEndLumi
void watchPostModuleStreamEndLumi(PostModuleStreamEndLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:901
FastTimerService::postStreamEndLumi
void postStreamEndLumi(edm::StreamContext const &)
Definition: FastTimerService.cc:1067
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
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
callgraph.module
module
Definition: callgraph.py:61
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:1633
FastTimerService::thread
Measurement & thread()
Definition: FastTimerService.cc:1730
submitPVResolutionJobs.desc
string desc
Definition: submitPVResolutionJobs.py:251
edm::ActivityRegistry::watchPreGlobalBeginLumi
void watchPreGlobalBeginLumi(PreGlobalBeginLumi::slot_type const &iSlot)
Definition: ActivityRegistry.h:407
FastTimerService::guard_
ThreadGuard guard_
Definition: FastTimerService.h:485
edm::ActivityRegistry::watchPostModuleEvent
void watchPostModuleEvent(PostModuleEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:799
edm::ActivityRegistry::watchPreModuleGlobalBeginRun
void watchPreModuleGlobalBeginRun(PreModuleGlobalBeginRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:951
FastTimerService::prePathEvent
void prePathEvent(edm::StreamContext const &, edm::PathContext const &)
Definition: FastTimerService.cc:1501
FastTimerService::postPathEvent
void postPathEvent(edm::StreamContext const &, edm::PathContext const &, edm::HLTPathStatus const &)
Definition: FastTimerService.cc:1511
FastTimerService::postGlobalEndLumi
void postGlobalEndLumi(edm::GlobalContext const &)
Definition: FastTimerService.cc:1042
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:813
FastTimerService::preModuleEventDelayedGet
void preModuleEventDelayedGet(edm::StreamContext const &, edm::ModuleCallingContext const &)
Definition: FastTimerService.cc:1573
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:1577
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:986
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:333
FastTimerService::postSourceRun
void postSourceRun(edm::RunIndex)
Definition: FastTimerService.cc:1094
edm::ActivityRegistry::watchPrePathEvent
void watchPrePathEvent(PrePathEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:486
processor_model
const std::string processor_model
Definition: processor_model.cc:47
c
auto & c
Definition: CAHitNtupletGeneratorKernelsImpl.h:56
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:805
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:821
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:859
FastTimerService::preSourceRun
void preSourceRun(edm::RunIndex)
Definition: FastTimerService.cc:1092
edm::ActivityRegistry::watchPostStreamEndRun
void watchPostStreamEndRun(PostStreamEndRun::slot_type const &iSlot)
Definition: ActivityRegistry.h:400
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:1025
FastTimerService::preEvent
void preEvent(edm::StreamContext const &)
Definition: FastTimerService.cc:1427
edm::ActivityRegistry::watchPreModuleEvent
void watchPreModuleEvent(PreModuleEvent::slot_type const &iSlot)
Definition: ActivityRegistry.h:793
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:982
ProcessCallGraph::preSourceConstruction
void preSourceConstruction(edm::ModuleDescription const &)
Definition: ProcessCallGraph.cc:51