Public Member Functions | |
virtual void | addToCPUTime (StreamID id, double iTime) override |
virtual double | getTotalCPU () const override |
Timing (ParameterSet const &, ActivityRegistry &) | |
~Timing () | |
Public Member Functions inherited from edm::TimingServiceBase | |
TimingServiceBase () | |
virtual | ~TimingServiceBase () |
Static Public Member Functions | |
static void | fillDescriptions (edm::ConfigurationDescriptions &descriptions) |
Private Member Functions | |
void | postBeginJob () |
void | postEndJob () |
void | postEvent (StreamContext const &) |
void | postModule (StreamContext const &, ModuleCallingContext const &) |
void | preEvent (StreamContext const &) |
void | preModule (StreamContext const &, ModuleCallingContext const &) |
Private Attributes | |
std::vector< double > | curr_events_time_ |
double | curr_job_cpu_ |
double | curr_job_time_ |
std::atomic< double > | last_run_cpu_ |
std::atomic< double > | last_run_time_ |
std::vector< double > | max_events_time_ |
std::vector< double > | min_events_time_ |
unsigned int | nStreams_ |
unsigned int | nThreads_ |
bool | report_summary_ |
std::vector< double > | sum_events_time_ |
bool | summary_only_ |
std::atomic< unsigned long > | total_event_count_ |
edm::service::Timing::Timing | ( | ParameterSet const & | iPS, |
ActivityRegistry & | iRegistry | ||
) |
Definition at line 129 of file Timing.cc.
References edm::signalslot::Signal< T >::connect(), curr_events_time_, edm::service::getCPU(), edm::service::getTime(), last_run_cpu_, last_run_time_, max_events_time_, edm::service::SystemBounds::maxNumberOfStreams(), edm::service::SystemBounds::maxNumberOfThreads(), min_events_time_, nStreams_, nThreads_, postBeginJob(), postEndJob(), postEvent(), edm::ActivityRegistry::postGlobalEndRunSignal_, postModule(), edm::ActivityRegistry::preallocateSignal_, preEvent(), preModule(), sum_events_time_, summary_only_, edm::ActivityRegistry::watchPostBeginJob(), edm::ActivityRegistry::watchPostEndJob(), edm::ActivityRegistry::watchPostEvent(), edm::ActivityRegistry::watchPostModuleEvent(), edm::ActivityRegistry::watchPreEvent(), and edm::ActivityRegistry::watchPreModuleEvent().
|
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 170 of file Timing.cc.
References curr_job_cpu_.
|
static |
Definition at line 179 of file Timing.cc.
References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::addUntracked(), 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 175 of file Timing.cc.
References edm::service::getCPU().
|
private |
Definition at line 190 of file Timing.cc.
References curr_job_cpu_, curr_job_time_, edm::service::getCPU(), edm::service::getTime(), and summary_only_.
Referenced by Timing().
|
private |
Definition at line 205 of file Timing.cc.
References curr_job_cpu_, curr_job_time_, edm::service::d2str(), edm::service::getCPU(), edm::service::getTime(), last_run_cpu_, last_run_time_, max_events_time_, min_events_time_, nStreams_, nThreads_, report_summary_, sum_events_time_, t, total_event_count_, and edm::service::ui2str().
Referenced by Timing().
|
private |
Definition at line 273 of file Timing.cc.
References curr_events_time_, edm::StreamContext::eventID(), edm::service::getTime(), cmsHarvester::index, max_events_time_, min_events_time_, edm::StreamContext::streamID(), sum_events_time_, summary_only_, total_event_count_, and edm::StreamID::value().
Referenced by Timing().
|
private |
Definition at line 297 of file Timing.cc.
References assert(), edm::StreamContext::eventID(), edm::service::getTime(), edm::ModuleCallingContext::moduleDescription(), edm::service::moduleTimeStack(), and t.
Referenced by Timing().
|
private |
Definition at line 268 of file Timing.cc.
References curr_events_time_, edm::service::getTime(), cmsHarvester::index, edm::StreamContext::streamID(), and edm::StreamID::value().
Referenced by Timing().
|
private |
Definition at line 292 of file Timing.cc.
References edm::service::getTime(), and edm::service::moduleTimeStack().
Referenced by Timing().
|
private |
Definition at line 62 of file Timing.cc.
Referenced by postEvent(), preEvent(), and Timing().
|
private |
Definition at line 58 of file Timing.cc.
Referenced by addToCPUTime(), postBeginJob(), and postEndJob().
|
private |
Definition at line 57 of file Timing.cc.
Referenced by postBeginJob(), and postEndJob().
|
private |
Definition at line 61 of file Timing.cc.
Referenced by postEndJob(), and Timing().
|
private |
Definition at line 60 of file Timing.cc.
Referenced by postEndJob(), and Timing().
|
private |
Definition at line 69 of file Timing.cc.
Referenced by postEndJob(), postEvent(), and Timing().
|
private |
Definition at line 70 of file Timing.cc.
Referenced by postEndJob(), postEvent(), and Timing().
|
private |
Definition at line 73 of file Timing.cc.
Referenced by postEndJob(), and Timing().
|
private |
Definition at line 74 of file Timing.cc.
Referenced by postEndJob(), and Timing().
|
private |
Definition at line 64 of file Timing.cc.
Referenced by postEndJob().
|
private |
Definition at line 71 of file Timing.cc.
Referenced by postEndJob(), postEvent(), and Timing().
|
private |
Definition at line 63 of file Timing.cc.
Referenced by postBeginJob(), postEvent(), and Timing().
|
private |
Definition at line 72 of file Timing.cc.
Referenced by postEndJob(), and postEvent().