CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
FastTimerService::PlotsPerPath Class Reference

Public Member Functions

void book (DQMStore::ConcurrentBooker &, std::string const &, ProcessCallGraph const &, ProcessCallGraph::PathType const &, PlotRanges const &ranges, unsigned int lumisections, bool byls)
 
void fill (ProcessCallGraph::PathType const &, ResourcesPerJob const &, ResourcesPerPath const &, unsigned int lumisection)
 
 PlotsPerPath ()=default
 

Private Attributes

ConcurrentMonitorElement module_allocated_total_
 
ConcurrentMonitorElement module_counter_
 
ConcurrentMonitorElement module_deallocated_total_
 
ConcurrentMonitorElement module_time_real_total_
 
ConcurrentMonitorElement module_time_thread_total_
 
PlotsPerElement total_
 

Detailed Description

Definition at line 336 of file FastTimerService.h.

Constructor & Destructor Documentation

FastTimerService::PlotsPerPath::PlotsPerPath ( )
default

Member Function Documentation

void FastTimerService::PlotsPerPath::book ( DQMStore::ConcurrentBooker booker,
std::string const &  prefixDir,
ProcessCallGraph const &  job,
ProcessCallGraph::PathType const &  path,
PlotRanges const &  ranges,
unsigned int  lumisections,
bool  byls 
)

Definition at line 578 of file FastTimerService.cc.

References stringResolutionProvider_cfi::bin, create_public_pileup_plots::bins, DQMStore::ConcurrentBooker::book1DD(), memory_usage::is_available(), diffTwoXMLs::label, ProcessCallGraph::PathType::modules_and_dependencies_, ProcessCallGraph::PathType::name_, DQMStore::IBooker::pwd(), DQMStore::IBooker::setCurrentFolder(), ConcurrentMonitorElement::setYTitle(), and AlCaHLTBitMon_QueryRunRegistry::string.

586 {
587  const std::string basedir = booker.pwd();
588  // booker.setCurrentFolder(basedir + "/path " + path.name_);
589  booker.setCurrentFolder(basedir + "/" + prefixDir + path.name_);
590 
591  total_.book(booker, "path", path.name_, ranges, lumisections, byls);
592 
593  unsigned int bins = path.modules_and_dependencies_.size();
594  module_counter_ = booker.book1DD(
595  "module_counter",
596  "module counter",
597  bins + 1, -0.5, bins + 0.5);
598  module_counter_.setYTitle("events");
600  "module_time_thread_total",
601  "total module time (cpu)",
602  bins, -0.5, bins - 0.5);
603  module_time_thread_total_.setYTitle("processing time [ms]");
605  "module_time_real_total",
606  "total module time (real)",
607  bins, -0.5, bins - 0.5);
608  module_time_real_total_.setYTitle("processing time [ms]");
610  {
612  "module_allocated_total",
613  "total allocated memory",
614  bins, -0.5, bins - 0.5);
615  module_allocated_total_.setYTitle("memory [kB]");
617  "module_deallocated_total",
618  "total deallocated memory",
619  bins, -0.5, bins - 0.5);
620  module_deallocated_total_.setYTitle("memory [kB]");
621  }
622  for (unsigned int bin: boost::irange(0u, bins)) {
623  auto const& module = job[path.modules_and_dependencies_[bin]];
624  std::string const& label = module.scheduled_ ? module.module_.moduleLabel() : module.module_.moduleLabel() + " (unscheduled)";
625  module_counter_ .setBinLabel(bin + 1, label.c_str());
626  module_time_thread_total_.setBinLabel(bin + 1, label.c_str());
627  module_time_real_total_ .setBinLabel(bin + 1, label.c_str());
629  {
630  module_allocated_total_ .setBinLabel(bin + 1, label.c_str());
631  module_deallocated_total_.setBinLabel(bin + 1, label.c_str());
632  }
633  }
634  module_counter_.setBinLabel(bins + 1, "");
635 
636  booker.setCurrentFolder(basedir);
637 }
ConcurrentMonitorElement book1DD(Args &&...args)
Definition: DQMStore.h:237
void book(DQMStore::ConcurrentBooker &, std::string const &name, std::string const &title, PlotRanges const &ranges, unsigned int lumisections, bool byls)
void setYTitle(std::string const &title)
ConcurrentMonitorElement module_time_thread_total_
ConcurrentMonitorElement module_deallocated_total_
ConcurrentMonitorElement module_counter_
bin
set the eta bin as selection string.
string ranges
Definition: diffTwoXMLs.py:78
static bool is_available()
Definition: memory_usage.cc:65
void setCurrentFolder(const std::string &fullpath)
Definition: DQMStore.cc:274
ConcurrentMonitorElement module_allocated_total_
void setBinLabel(int bin, std::string const &label, int axis=1)
const std::string & pwd()
Definition: DQMStore.cc:282
ConcurrentMonitorElement module_time_real_total_
Definition: vlib.h:208
void FastTimerService::PlotsPerPath::fill ( ProcessCallGraph::PathType const &  description,
ResourcesPerJob const &  data,
ResourcesPerPath const &  path,
unsigned int  lumisection 
)

Definition at line 640 of file FastTimerService.cc.

References mps_fire::i, FastTimerService::ResourcesPerPath::last, FastTimerService::ResourcesPerJob::modules, ProcessCallGraph::PathType::modules_and_dependencies_, AnalysisDataFormats_SUSYBSMObjects::ms, FastTimerService::ResourcesPerPath::status, and FastTimerService::ResourcesPerPath::total.

641 {
642  // fill the total path time
643  total_.fill(path.total, ls);
644 
645  // fill the modules that actually ran and the total time spent in each od them
646  for (unsigned int i = 0; i < path.last; ++i) {
647  auto const& module = data.modules[description.modules_and_dependencies_[i]];
648  if (module_counter_)
650 
652  module_time_thread_total_.fill(i, ms(module.total.time_thread));
653 
655  module_time_real_total_.fill(i, ms(module.total.time_real));
656 
658  module_allocated_total_.fill(i, kB(module.total.allocated));
659 
661  module_deallocated_total_.fill(i, kB(module.total.deallocated));
662  }
663  if (module_counter_ and path.status)
664  module_counter_.fill(path.last);
665 }
void fill(Resources const &, unsigned int lumisection)
ConcurrentMonitorElement module_time_thread_total_
ConcurrentMonitorElement module_deallocated_total_
ConcurrentMonitorElement module_counter_
def ls(path, rec=False)
Definition: eostools.py:348
ConcurrentMonitorElement module_allocated_total_
susybsm::MuonSegment ms
Definition: classes.h:31
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
void fill(Args &&...args) const
ConcurrentMonitorElement module_time_real_total_
Definition: vlib.h:208

Member Data Documentation

ConcurrentMonitorElement FastTimerService::PlotsPerPath::module_allocated_total_
private

Definition at line 356 of file FastTimerService.h.

ConcurrentMonitorElement FastTimerService::PlotsPerPath::module_counter_
private

Definition at line 352 of file FastTimerService.h.

ConcurrentMonitorElement FastTimerService::PlotsPerPath::module_deallocated_total_
private

Definition at line 357 of file FastTimerService.h.

ConcurrentMonitorElement FastTimerService::PlotsPerPath::module_time_real_total_
private

Definition at line 355 of file FastTimerService.h.

ConcurrentMonitorElement FastTimerService::PlotsPerPath::module_time_thread_total_
private

Definition at line 354 of file FastTimerService.h.

PlotsPerElement FastTimerService::PlotsPerPath::total_
private

Definition at line 344 of file FastTimerService.h.