#include <Timing.h>
Public Member Functions | |
virtual void | addToCPUTime (StreamID id, double iTime) 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_ |
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 68 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(), min_events_time_, 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 105 of file Timing.cc.
References curr_job_cpu_.
|
static |
Definition at line 111 of file Timing.cc.
References edm::ConfigurationDescriptions::add(), edm::ParameterSetDescription::addUntracked(), and edm::ConfigurationDescriptions::setComment().
|
private |
Definition at line 122 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 137 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_, report_summary_, sum_events_time_, edmStreamStallGrapher::t, and total_event_count_.
Referenced by Timing().
|
private |
Definition at line 189 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 213 of file Timing.cc.
References assert(), edm::StreamContext::eventID(), edm::service::getTime(), edm::ModuleCallingContext::moduleDescription(), edm::service::moduleTimeStack(), and edmStreamStallGrapher::t.
Referenced by Timing().
|
private |
Definition at line 184 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 208 of file Timing.cc.
References edm::service::getTime(), and edm::service::moduleTimeStack().
Referenced by Timing().
|
private |
Definition at line 50 of file Timing.h.
Referenced by postEvent(), preEvent(), and Timing().
|
private |
Definition at line 46 of file Timing.h.
Referenced by addToCPUTime(), postBeginJob(), and postEndJob().
|
private |
Definition at line 45 of file Timing.h.
Referenced by postBeginJob(), and postEndJob().
|
private |
Definition at line 49 of file Timing.h.
Referenced by postEndJob(), and Timing().
|
private |
Definition at line 48 of file Timing.h.
Referenced by postEndJob(), and Timing().
|
private |
Definition at line 57 of file Timing.h.
Referenced by postEndJob(), postEvent(), and Timing().
|
private |
Definition at line 58 of file Timing.h.
Referenced by postEndJob(), postEvent(), and Timing().
|
private |
Definition at line 52 of file Timing.h.
Referenced by postEndJob().
|
private |
Definition at line 59 of file Timing.h.
Referenced by postEndJob(), postEvent(), and Timing().
|
private |
Definition at line 51 of file Timing.h.
Referenced by postBeginJob(), postEvent(), and Timing().
|
private |
Definition at line 60 of file Timing.h.
Referenced by postEndJob(), and postEvent().