Public Types | |
using | double_seconds = std::chrono::duration< double, std::ratio< 1, 1 > > |
using | time_point = std::chrono::steady_clock::time_point |
Public Member Functions | |
void | addToCPUTime (double iTime) override |
double | getTotalCPU () const override |
Timing (ParameterSet const &, ActivityRegistry &) | |
~Timing () override | |
Public Member Functions inherited from edm::TimingServiceBase | |
const TimingServiceBase & | operator= (const TimingServiceBase &)=delete |
TimingServiceBase () | |
TimingServiceBase (const TimingServiceBase &)=delete | |
virtual | ~TimingServiceBase () |
Static Public Member Functions | |
static void | fillDescriptions (edm::ConfigurationDescriptions &descriptions) |
Static Public Member Functions inherited from edm::TimingServiceBase | |
static void | jobStarted () |
static std::chrono::steady_clock::time_point | jobStartTime () |
Private Attributes | |
std::atomic< double > | accumulatedEventSetupModuleTimings_ = 0. |
std::atomic< unsigned long > | begin_lumi_count_ |
std::atomic< unsigned long > | begin_run_count_ |
bool | configuredInTopLevelProcess_ |
std::vector< std::unique_ptr< std::atomic< unsigned int > > > | countSubProcessesPostEvent_ |
std::vector< std::unique_ptr< std::atomic< unsigned int > > > | countSubProcessesPreEvent_ |
std::vector< time_point > | curr_events_time_ |
double | curr_job_cpu_ |
time_point | curr_job_time_ |
std::atomic< double > | end_loop_cpu_ |
std::atomic< time_point > | end_loop_time_ |
std::vector< std::pair< uintptr_t, eventsetup::EventSetupRecordKey > > | eventSetupModuleCallInfo_ |
std::vector< std::unique_ptr< std::atomic< time_point > > > | eventSetupModuleStartTimes_ |
std::atomic< double > | extra_job_cpu_ |
time_point | last_task_change_time_ = time_point() |
std::vector< double > | max_events_time_ |
std::vector< double > | min_events_time_ |
unsigned int | nStreams_ |
unsigned int | nSubProcesses_ |
unsigned int | nThreads_ |
unsigned int | num_running_tasks_ = 0 |
bool | report_summary_ |
std::vector< double > | sum_events_time_ |
bool | summary_only_ |
double | threshold_ |
std::atomic< unsigned long > | total_event_count_ |
double | total_time_without_tasks_ = 0 |
std::atomic< bool > | updating_task_info_ = false |
using edm::service::Timing::double_seconds = std::chrono::duration<double, std::ratio<1, 1> > |
using edm::service::Timing::time_point = std::chrono::steady_clock::time_point |
edm::service::Timing::Timing | ( | ParameterSet const & | iPS, |
ActivityRegistry & | iRegistry | ||
) |
Definition at line 215 of file Timing.cc.
|
inlineprivate |
Definition at line 101 of file Timing.cc.
References runningTasksChanged().
Referenced by setTaskCallbacks().
|
overridevirtual |
Extra CPU time used by a job but not seen by cmsRun The value should be in seconds. This function is safe to call from multiple threads
Implements edm::TimingServiceBase.
Definition at line 420 of file Timing.cc.
References extra_job_cpu_.
|
private |
Definition at line 449 of file Timing.cc.
References configuredInTopLevelProcess_, curr_job_cpu_, curr_job_time_, edm::service::getCPU(), edm::service::getTime(), last_task_change_time_, seconds(), and summary_only_.
|
static |
Definition at line 429 of file Timing.cc.
References edm::ConfigurationDescriptions::add(), submitPVResolutionJobs::desc, and edm::ConfigurationDescriptions::setComment().
|
overridevirtual |
CPU time used by this process and all its children. The value returned should be in seconds.
Implements edm::TimingServiceBase.
Definition at line 427 of file Timing.cc.
References edm::service::getCPU().
|
private |
Definition at line 609 of file Timing.cc.
References edm::StreamContext::eventID(), max_events_time_, min_events_time_, sum_events_time_, summary_only_, and total_event_count_.
Referenced by postEvent().
|
private |
Definition at line 689 of file Timing.cc.
References configuredInTopLevelProcess_, edm::service::popStack(), submitPVValidationJobs::t, and threshold_.
Referenced by postModule(), postModuleEvent(), postModuleGlobal(), postModuleStream(), postOpenFile(), postSourceEvent(), postSourceLumi(), and postSourceRun().
|
private |
Definition at line 471 of file Timing.cc.
References accumulatedEventSetupModuleTimings_, begin_lumi_count_, begin_run_count_, configuredInTopLevelProcess_, submitPVResolutionJobs::count, curr_job_cpu_, curr_job_time_, edm::service::d2str(), end_loop_cpu_, end_loop_time_, extra_job_cpu_, edm::service::getChildrenCPU(), edm::service::getCPU(), edm::service::getTime(), edm::TimingServiceBase::jobStartTime(), max_events_time_, min_events_time_, nStreams_, nThreads_, report_summary_, sum_events_time_, submitPVValidationJobs::t, total_event_count_, total_time_without_tasks_, and edm::service::ui2str().
|
private |
Definition at line 593 of file Timing.cc.
References configuredInTopLevelProcess_, submitPVResolutionJobs::count, countSubProcessesPostEvent_, curr_events_time_, edm::service::getTime(), lastPostEvent(), nSubProcesses_, edm::StreamContext::streamID(), and edm::StreamID::value().
|
private |
Definition at line 674 of file Timing.cc.
References begin_lumi_count_, configuredInTopLevelProcess_, edm::ProcessContext::isSubProcess(), and edm::GlobalContext::processContext().
|
private |
Definition at line 665 of file Timing.cc.
References begin_run_count_, configuredInTopLevelProcess_, edm::ProcessContext::isSubProcess(), and edm::GlobalContext::processContext().
|
private |
|
private |
Definition at line 626 of file Timing.cc.
References configuredInTopLevelProcess_, submitPVResolutionJobs::desc, edm::StreamContext::eventID(), edm::ModuleCallingContext::moduleDescription(), postCommon(), summary_only_, and submitPVValidationJobs::t.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Definition at line 441 of file Timing.cc.
References configuredInTopLevelProcess_, edm::ProcessContext::isSubProcess(), and nSubProcesses_.
|
private |
Definition at line 576 of file Timing.cc.
References configuredInTopLevelProcess_, submitPVResolutionJobs::count, countSubProcessesPreEvent_, curr_events_time_, edm::service::getTime(), nSubProcesses_, edm::StreamContext::streamID(), and edm::StreamID::value().
|
private |
Definition at line 655 of file Timing.cc.
References configuredInTopLevelProcess_, and edm::service::pushStack().
|
private |
Definition at line 659 of file Timing.cc.
References configuredInTopLevelProcess_, and edm::service::pushStack().
|
private |
Definition at line 683 of file Timing.cc.
References configuredInTopLevelProcess_, and edm::service::pushStack().
|
private |
Definition at line 651 of file Timing.cc.
References configuredInTopLevelProcess_, and edm::service::pushStack().
|
private |
Definition at line 639 of file Timing.cc.
References configuredInTopLevelProcess_, and edm::service::pushStack().
|
private |
Definition at line 643 of file Timing.cc.
References configuredInTopLevelProcess_, and edm::service::pushStack().
|
private |
Definition at line 647 of file Timing.cc.
References configuredInTopLevelProcess_, and edm::service::pushStack().
|
inlineprivate |
Definition at line 102 of file Timing.cc.
References runningTasksChanged().
Referenced by setTaskCallbacks().
|
private |
Definition at line 703 of file Timing.cc.
References edm::service::getTime(), last_task_change_time_, nThreads_, num_running_tasks_, total_time_without_tasks_, and updating_task_info_.
Referenced by addTask(), and removeTask().
|
private |
Definition at line 375 of file Timing.cc.
References addTask(), removeTask(), edm::ActivityRegistry::watchPostESSyncIOV(), edm::ActivityRegistry::watchPostEventReadFromSource(), edm::ActivityRegistry::watchPostModuleEvent(), edm::ActivityRegistry::watchPostModuleEventAcquire(), edm::ActivityRegistry::watchPostModuleGlobalBeginLumi(), edm::ActivityRegistry::watchPostModuleGlobalBeginRun(), edm::ActivityRegistry::watchPostModuleGlobalEndLumi(), edm::ActivityRegistry::watchPostModuleGlobalEndRun(), edm::ActivityRegistry::watchPostModuleStreamBeginLumi(), edm::ActivityRegistry::watchPostModuleStreamBeginRun(), edm::ActivityRegistry::watchPostModuleStreamEndLumi(), edm::ActivityRegistry::watchPostModuleStreamEndRun(), edm::ActivityRegistry::watchPostSourceEvent(), edm::ActivityRegistry::watchPostSourceLumi(), edm::ActivityRegistry::watchPostSourceRun(), edm::ActivityRegistry::watchPreESSyncIOV(), edm::ActivityRegistry::watchPreEventReadFromSource(), edm::ActivityRegistry::watchPreModuleEvent(), edm::ActivityRegistry::watchPreModuleEventAcquire(), edm::ActivityRegistry::watchPreModuleGlobalBeginLumi(), edm::ActivityRegistry::watchPreModuleGlobalBeginRun(), edm::ActivityRegistry::watchPreModuleGlobalEndLumi(), edm::ActivityRegistry::watchPreModuleGlobalEndRun(), edm::ActivityRegistry::watchPreModuleStreamBeginLumi(), edm::ActivityRegistry::watchPreModuleStreamBeginRun(), edm::ActivityRegistry::watchPreModuleStreamEndLumi(), edm::ActivityRegistry::watchPreModuleStreamEndRun(), edm::ActivityRegistry::watchPreSourceEvent(), edm::ActivityRegistry::watchPreSourceLumi(), and edm::ActivityRegistry::watchPreSourceRun().
|
private |
Definition at line 134 of file Timing.cc.
Referenced by postEndJob().
|
private |
Definition at line 127 of file Timing.cc.
Referenced by postEndJob(), and postGlobalBeginLumi().
|
private |
Definition at line 128 of file Timing.cc.
Referenced by postEndJob(), and postGlobalBeginRun().
|
private |
Definition at line 139 of file Timing.cc.
Referenced by beginProcessing(), postCommon(), postEndJob(), postEvent(), postGlobalBeginLumi(), postGlobalBeginRun(), postModuleEvent(), preBeginJob(), preEvent(), preModule(), preModuleGlobal(), preModuleStream(), preOpenFile(), preSourceEvent(), preSourceLumi(), and preSourceRun().
|
private |
Definition at line 137 of file Timing.cc.
Referenced by postEvent().
|
private |
Definition at line 136 of file Timing.cc.
Referenced by preEvent().
|
private |
Definition at line 111 of file Timing.cc.
Referenced by postEvent(), and preEvent().
|
private |
Definition at line 106 of file Timing.cc.
Referenced by beginProcessing(), and postEndJob().
|
private |
Definition at line 105 of file Timing.cc.
Referenced by beginProcessing(), and postEndJob().
|
private |
Definition at line 110 of file Timing.cc.
Referenced by postEndJob().
|
private |
Definition at line 109 of file Timing.cc.
Referenced by postEndJob().
|
private |
|
private |
|
private |
Definition at line 107 of file Timing.cc.
Referenced by addToCPUTime(), and postEndJob().
|
private |
Definition at line 118 of file Timing.cc.
Referenced by beginProcessing(), and runningTasksChanged().
|
private |
Definition at line 123 of file Timing.cc.
Referenced by lastPostEvent(), and postEndJob().
|
private |
Definition at line 124 of file Timing.cc.
Referenced by lastPostEvent(), and postEndJob().
|
private |
Definition at line 129 of file Timing.cc.
Referenced by postEndJob().
|
private |
Definition at line 140 of file Timing.cc.
Referenced by postEvent(), preBeginJob(), and preEvent().
|
private |
Definition at line 130 of file Timing.cc.
Referenced by postEndJob(), and runningTasksChanged().
|
private |
Definition at line 117 of file Timing.cc.
Referenced by runningTasksChanged().
|
private |
Definition at line 113 of file Timing.cc.
Referenced by postEndJob().
|
private |
Definition at line 125 of file Timing.cc.
Referenced by lastPostEvent(), and postEndJob().
|
private |
Definition at line 112 of file Timing.cc.
Referenced by beginProcessing(), lastPostEvent(), and postModuleEvent().
|
private |
Definition at line 114 of file Timing.cc.
Referenced by postCommon().
|
private |
Definition at line 126 of file Timing.cc.
Referenced by lastPostEvent(), and postEndJob().
|
private |
Definition at line 119 of file Timing.cc.
Referenced by postEndJob(), and runningTasksChanged().
|
private |
Definition at line 116 of file Timing.cc.
Referenced by runningTasksChanged().