27 class PerfGraphRegistry;
28 class PerfGraphSectionInfo;
48 const std::string & name,
49 const unsigned int level,
50 const std::string & live_message,
51 const bool print_dots)
102 const unsigned int level,
103 const std::string & live_message,
104 const bool print_dots =
true);
120 return item(section_id);
149 const unsigned int level,
150 const std::string & live_message,
151 const bool print_dots =
true);
std::string name(const ElemQuality q)
The place where all timed sections will be stored.
std::string _live_message
Message to print while the section is running.
bool sectionExists(const std::string §ion_name) const
Whether or not a section with that name has been registered The name of the section.
const PerfGraphSectionInfo & itemNonLocking(const std::size_t id) const
void dataLoad(std::istream &stream, moose::internal::PerfGraphSectionInfo &info, void *context)
unsigned int _level
Print level (verbosity level)
Used to hold metadata about the registered sections Note: this is a class instead of a struct because...
bool idExists(const std::size_t id) const
std::size_t id(const std::string &key) const
friend PerfGraphRegistry & getPerfGraphRegistry()
So it can be constructed.
const PerfGraphSectionInfo & item(const std::size_t id) const
friend PerfGraph
This is only here so that PerfGraph can access readSectionInfo.
This is effectively a functor that runs on a separate thread and watches the state of the call stack ...
PerfID registerSection(const std::string §ion_name, const unsigned int level)
Call to register a named section for timing.
const PerfGraphSectionInfo & sectionInfo(const PerfID section_id) const
Given a PerfID return the PerfGraphSectionInfo The ID.
bool _print_dots
Whether or not to print dots while this section runs.
PerfID sectionID(const std::string §ion_name) const
Given a name return the PerfID The name of the section.
bool sectionExists(const PerfID section_id) const
Whether or not a section with that id has been registered The ID.
PerfID actuallyRegisterSection(const std::string §ion_name, const unsigned int level, const std::string &live_message, const bool print_dots=true)
The internal function that actually carries out the registration.
std::string _name
The name.
PerfGraphSectionInfo(const PerfID id, const std::string &name, const unsigned int level, const std::string &live_message, const bool print_dots)
bool keyExists(const std::string &key) const
PerfGraphSectionInfo()=default
void dataStore(std::ostream &, PerfGraph &, void *)
The PerfGraph will hold the master list of all registered performance segments and the head PerfNode...
PerfGraphRegistry & getPerfGraphRegistry()
Get the global PerfGraphRegistry singleton.
const PerfGraphSectionInfo & readSectionInfo(PerfID section_id) const
Special accessor just for PerfGraph so that no locking is needed in PerfGraph.
std::size_t numSections() const