#include <ProcessCallGraph.h>
Classes | |
struct | NodeType |
struct | PathType |
struct | ProcessType |
Public Types | |
using | GraphType = boost::subgraph< boost::adjacency_list< boost::vecS, boost::vecS, boost::directedS, NodeType, boost::property< boost::edge_index_t, int >, boost::property< boost::graph_name_t, std::string >>> |
Public Member Functions | |
std::pair< std::vector < unsigned int >, std::vector < unsigned int > > | dependencies (std::vector< unsigned int > const &path) |
std::vector< unsigned int > | depends (unsigned int module) const |
edm::ModuleDescription const & | module (unsigned int module) const |
NodeType const & | operator[] (unsigned int module) const |
void | preBeginJob (edm::PathsAndConsumesOfModulesBase const &, edm::ProcessContext const &) |
void | preSourceConstruction (edm::ModuleDescription const &) |
ProcessCallGraph () | |
ProcessType const & | processDescription (unsigned int) const |
ProcessType const & | processDescription (edm::ProcessContext const &) const |
ProcessType const & | processDescription (std::string const &) const |
std::vector< ProcessType > const & | processes () const |
unsigned int | processId (edm::ProcessContext const &) const |
unsigned int | processId (std::string const &) const |
unsigned int | size () const |
edm::ModuleDescription const & | source () const |
Private Member Functions | |
unsigned int | registerProcess (edm::ProcessContext const &) |
Private Attributes | |
GraphType | graph_ |
std::vector< ProcessType > | process_description_ |
std::unordered_map < std::string, unsigned int > | process_id_ |
unsigned int | source_ |
Definition at line 27 of file ProcessCallGraph.h.
using ProcessCallGraph::GraphType = boost::subgraph<boost::adjacency_list< boost::vecS, boost::vecS, boost::directedS, NodeType, boost::property<boost::edge_index_t, int>, boost::property<boost::graph_name_t, std::string>>> |
Definition at line 47 of file ProcessCallGraph.h.
|
default |
std::pair< std::vector< unsigned int >, std::vector< unsigned int > > ProcessCallGraph::dependencies | ( | std::vector< unsigned int > const & | path | ) |
Definition at line 184 of file ProcessCallGraph.cc.
References colors, graph_, dqmdumpme::indices, module(), size(), and beam_dqm_sourceclient-live_cfg::vertices.
Referenced by depends(), and preBeginJob().
std::vector< unsigned int > ProcessCallGraph::depends | ( | unsigned int | module | ) | const |
Definition at line 155 of file ProcessCallGraph.cc.
References cms::cuda::assert(), colors, dependencies(), graph_, mps_fire::i, dqmiolumiharvest::j, and size().
edm::ModuleDescription const & ProcessCallGraph::module | ( | unsigned int | module | ) | const |
Definition at line 145 of file ProcessCallGraph.cc.
References graph_.
Referenced by FastTimerService::PlotsPerJob::book(), dependencies(), operator[](), preBeginJob(), and preSourceConstruction().
ProcessCallGraph::NodeType const & ProcessCallGraph::operator[] | ( | unsigned int | module | ) | const |
Definition at line 150 of file ProcessCallGraph.cc.
References graph_, and module().
void ProcessCallGraph::preBeginJob | ( | edm::PathsAndConsumesOfModulesBase const & | pathsAndConsumes, |
edm::ProcessContext const & | context | ||
) |
Definition at line 64 of file ProcessCallGraph.cc.
References edm::PathsAndConsumesOfModulesBase::allModules(), cms::cuda::assert(), OfflineOutput_cfi::consumer, dependencies(), symbols::deps, edm::edmModuleTypeEnum(), edm::PathsAndConsumesOfModulesBase::endPaths(), edm::service::TriggerNamesService::getEndPath(), edm::service::TriggerNamesService::getTrigPath(), edm::service::TriggerNamesService::getTrigPaths(), graph_, mps_fire::i, edm::ModuleDescription::id(), edm::ProcessContext::isSubProcess(), edm::PathsAndConsumesOfModulesBase::largestModuleID(), module(), TrackingSourceConfig_Tier0_Cosmic_cff::modules, edm::PathsAndConsumesOfModulesBase::modulesOnEndPath(), edm::PathsAndConsumesOfModulesBase::modulesOnPath(), edm::PathsAndConsumesOfModulesBase::modulesWhoseProductsAreConsumedBy(), edm::ProcessContext::parentProcessContext(), edm::PathsAndConsumesOfModulesBase::paths(), mergeAndRegister::paths, process_description_, processId(), edm::ProcessContext::processName(), registerProcess(), size(), and edm::tns().
void ProcessCallGraph::preSourceConstruction | ( | edm::ModuleDescription const & | module | ) |
Definition at line 51 of file ProcessCallGraph.cc.
References graph_, edm::ModuleDescription::id(), edm::kSource, module(), and source_.
ProcessCallGraph::ProcessType const & ProcessCallGraph::processDescription | ( | unsigned int | pid | ) | const |
Definition at line 278 of file ProcessCallGraph.cc.
References process_description_.
Referenced by FastTimerService::PlotsPerJob::book(), and FastTimerService::PlotsPerJob::fill().
ProcessCallGraph::ProcessType const & ProcessCallGraph::processDescription | ( | edm::ProcessContext const & | context | ) | const |
Definition at line 283 of file ProcessCallGraph.cc.
References process_description_, and processId().
ProcessCallGraph::ProcessType const & ProcessCallGraph::processDescription | ( | std::string const & | processName | ) | const |
Definition at line 289 of file ProcessCallGraph.cc.
References process_description_, and processId().
std::vector< ProcessCallGraph::ProcessType > const & ProcessCallGraph::processes | ( | ) | const |
Definition at line 275 of file ProcessCallGraph.cc.
References process_description_.
Referenced by FastTimerService::PlotsPerJob::book(), FastTimerService::PlotsPerJob::PlotsPerJob(), and FastTimerService::ResourcesPerJob::ResourcesPerJob().
unsigned int ProcessCallGraph::processId | ( | edm::ProcessContext const & | context | ) | const |
Definition at line 255 of file ProcessCallGraph.cc.
References edm::ProcessContext::isSubProcess(), edm::errors::LogicError, process_id_, and edm::ProcessContext::processName().
Referenced by preBeginJob(), and processDescription().
unsigned int ProcessCallGraph::processId | ( | std::string const & | processName | ) | const |
Definition at line 266 of file ProcessCallGraph.cc.
References edm::errors::LogicError, process_id_, and FSQHLTOfflineSource_cfi::processName.
|
private |
Definition at line 231 of file ProcessCallGraph.cc.
References Exception, SequenceTypes::ignore(), edm::ProcessContext::isSubProcess(), edm::errors::LogicError, edm::ProcessContext::parentProcessContext(), process_id_, edm::ProcessContext::processName(), and s_id.
Referenced by preBeginJob().
unsigned int ProcessCallGraph::size | ( | void | ) | const |
Definition at line 139 of file ProcessCallGraph.cc.
References graph_.
Referenced by ntupleDataFormat._Collection::__iter__(), ntupleDataFormat._Collection::__len__(), dependencies(), depends(), and preBeginJob().
edm::ModuleDescription const & ProcessCallGraph::source | ( | ) | const |
Definition at line 142 of file ProcessCallGraph.cc.
References graph_, and source_.
Referenced by FastTimerService::PlotsPerJob::book().
|
private |
Definition at line 172 of file ProcessCallGraph.h.
Referenced by dependencies(), depends(), module(), operator[](), preBeginJob(), preSourceConstruction(), size(), and source().
|
private |
Definition at line 181 of file ProcessCallGraph.h.
Referenced by preBeginJob(), processDescription(), and processes().
|
private |
Definition at line 178 of file ProcessCallGraph.h.
Referenced by processId(), and registerProcess().
|
private |
Definition at line 175 of file ProcessCallGraph.h.
Referenced by Config.Process::dumpConfig(), Config.Process::dumpPython(), preSourceConstruction(), source(), and Config.Process::splitPython().