#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 26 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 48 of file ProcessCallGraph.h.
ProcessCallGraph::ProcessCallGraph | ( | ) |
Definition at line 33 of file ProcessCallGraph.cc.
Referenced by ProcessCallGraph::ProcessType::ProcessType().
std::pair< std::vector< unsigned int >, std::vector< unsigned int > > ProcessCallGraph::dependencies | ( | std::vector< unsigned int > const & | path | ) |
Definition at line 220 of file ProcessCallGraph.cc.
References colors, graph_, mps_fire::i, size(), and primaryVertexAssociation_cfi::vertices.
Referenced by depends(), preBeginJob(), and ProcessCallGraph::ProcessType::ProcessType().
std::vector< unsigned int > ProcessCallGraph::depends | ( | unsigned int | module | ) | const |
Definition at line 189 of file ProcessCallGraph.cc.
References colors, dependencies(), graph_, mps_fire::i, and size().
Referenced by ProcessCallGraph::ProcessType::ProcessType().
edm::ModuleDescription const & ProcessCallGraph::module | ( | unsigned int | module | ) | const |
Definition at line 173 of file ProcessCallGraph.cc.
References graph_.
Referenced by FastTimerService::PlotsPerJob::book(), operator[](), FastTimerService::postBeginJob(), preBeginJob(), preSourceConstruction(), FastTimerService::printEvent(), FastTimerService::printSummary(), ProcessCallGraph::ProcessType::ProcessType(), and FastTimerService::queryModuleTimeByLabel().
ProcessCallGraph::NodeType const & ProcessCallGraph::operator[] | ( | unsigned int | module | ) | const |
Definition at line 181 of file ProcessCallGraph.cc.
References graph_, and module().
Referenced by ProcessCallGraph::ProcessType::ProcessType().
void ProcessCallGraph::preBeginJob | ( | edm::PathsAndConsumesOfModulesBase const & | pathsAndConsumes, |
edm::ProcessContext const & | context | ||
) |
Definition at line 75 of file ProcessCallGraph.cc.
References edm::PathsAndConsumesOfModulesBase::allModules(), dependencies(), symbols::deps, edm::edmModuleTypeEnum(), edm::PathsAndConsumesOfModulesBase::endPaths(), graph_, mps_fire::i, edm::ProcessContext::isSubProcess(), module(), ErrorSummaryFilter_cfi::modules, edm::PathsAndConsumesOfModulesBase::modulesOnEndPath(), edm::PathsAndConsumesOfModulesBase::modulesOnPath(), edm::PathsAndConsumesOfModulesBase::modulesWhoseProductsAreConsumedBy(), edm::ProcessContext::parentProcessContext(), edm::PathsAndConsumesOfModulesBase::paths(), sysUtil::pid, process_description_, processId(), edm::ProcessContext::processName(), registerProcess(), and size().
Referenced by FastTimerService::preBeginJob(), and ProcessCallGraph::ProcessType::ProcessType().
void ProcessCallGraph::preSourceConstruction | ( | edm::ModuleDescription const & | module | ) |
Definition at line 59 of file ProcessCallGraph.cc.
References graph_, edm::ModuleDescription::id(), edm::kSource, module(), and source_.
Referenced by FastTimerService::preSourceConstruction(), and ProcessCallGraph::ProcessType::ProcessType().
ProcessCallGraph::ProcessType const & ProcessCallGraph::processDescription | ( | unsigned int | pid | ) | const |
Definition at line 327 of file ProcessCallGraph.cc.
References process_description_.
Referenced by FastTimerService::PlotsPerJob::book(), FastTimerService::PlotsPerJob::fill(), FastTimerService::postEvent(), FastTimerService::postPathEvent(), FastTimerService::printEvent(), FastTimerService::printSummary(), ProcessCallGraph::ProcessType::ProcessType(), FastTimerService::queryModuleTimeByLabel(), and FastTimerService::queryPathTime().
ProcessCallGraph::ProcessType const & ProcessCallGraph::processDescription | ( | edm::ProcessContext const & | context | ) | const |
Definition at line 334 of file ProcessCallGraph.cc.
References sysUtil::pid, process_description_, and processId().
ProcessCallGraph::ProcessType const & ProcessCallGraph::processDescription | ( | std::string const & | processName | ) | const |
Definition at line 342 of file ProcessCallGraph.cc.
References sysUtil::pid, process_description_, and processId().
std::vector< ProcessCallGraph::ProcessType > const & ProcessCallGraph::processes | ( | ) | const |
Definition at line 320 of file ProcessCallGraph.cc.
References process_description_.
Referenced by FastTimerService::PlotsPerJob::book(), FastTimerService::isLastSubprocess(), FastTimerService::PlotsPerJob::PlotsPerJob(), FastTimerService::printEvent(), FastTimerService::printSummary(), ProcessCallGraph::ProcessType::ProcessType(), FastTimerService::queryPathTime(), and FastTimerService::ResourcesPerJob::ResourcesPerJob().
unsigned int ProcessCallGraph::processId | ( | edm::ProcessContext const & | context | ) | const |
Definition at line 297 of file ProcessCallGraph.cc.
References edm::ProcessContext::isSubProcess(), edm::errors::LogicError, process_id_, and edm::ProcessContext::processName().
Referenced by FastTimerService::postEvent(), FastTimerService::postPathEvent(), preBeginJob(), FastTimerService::prePathEvent(), processDescription(), ProcessCallGraph::ProcessType::ProcessType(), FastTimerService::queryEventTime(), and FastTimerService::queryPathTime().
unsigned int ProcessCallGraph::processId | ( | std::string const & | processName | ) | const |
Definition at line 309 of file ProcessCallGraph.cc.
References edm::errors::LogicError, process_id_, and modifiedElectrons_cfi::processName.
|
private |
Definition at line 271 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(), and ProcessCallGraph::ProcessType::ProcessType().
unsigned int ProcessCallGraph::size | ( | void | ) | const |
Definition at line 157 of file ProcessCallGraph.cc.
References graph_.
Referenced by ntupleDataFormat._Collection::__iter__(), ntupleDataFormat._Collection::__len__(), dependencies(), depends(), FastTimerService::postBeginJob(), preBeginJob(), ProcessCallGraph::ProcessType::ProcessType(), FastTimerService::queryModuleTime(), and FastTimerService::queryModuleTimeByLabel().
edm::ModuleDescription const & ProcessCallGraph::source | ( | ) | const |
Definition at line 165 of file ProcessCallGraph.cc.
References graph_, and source_.
Referenced by FastTimerService::PlotsPerJob::book(), FastTimerService::postSourceEvent(), FastTimerService::printEvent(), FastTimerService::printSummary(), ProcessCallGraph::ProcessType::ProcessType(), and FastTimerService::querySourceTime().
|
private |
Definition at line 186 of file ProcessCallGraph.h.
Referenced by dependencies(), depends(), module(), operator[](), preBeginJob(), preSourceConstruction(), ProcessCallGraph::ProcessType::ProcessType(), size(), and source().
|
private |
Definition at line 195 of file ProcessCallGraph.h.
Referenced by preBeginJob(), processDescription(), and processes().
|
private |
Definition at line 192 of file ProcessCallGraph.h.
Referenced by processId(), and registerProcess().
|
private |
Definition at line 189 of file ProcessCallGraph.h.
Referenced by Config.Process::dumpConfig(), Config.Process::dumpPython(), preSourceConstruction(), and source().