41 const long int memory)
51 const std::chrono::time_point<std::chrono::steady_clock> &
startTime()
const 66 const long int memory)
98 child_node = std::make_unique<PerfNode>(
id);
100 return child_node.get();
111 std::chrono::steady_clock::duration
selfTime()
const;
124 std::chrono::steady_clock::duration
totalTime()
const;
137 std::chrono::steady_clock::duration
childrenTime()
const;
185 friend void dataStore(std::ostream &,
const std::unique_ptr<PerfNode> &,
void *);
186 friend void dataLoad(std::istream &,
const std::unique_ptr<PerfNode> &,
void *);
189 void dataStore(std::ostream & stream,
const std::unique_ptr<PerfNode> & node,
void * context);
190 void dataLoad(std::istream & stream,
const std::unique_ptr<PerfNode> & node,
void * context);
long int totalMemory() const
Get the amount of memory added by this node.
Real selfTimeSec() const
Get the time this node took in seconds.
friend void dataLoad(std::istream &, const std::unique_ptr< PerfNode > &, void *)
void setStartTimeAndMemory(const std::chrono::time_point< std::chrono::steady_clock > time, const long int memory)
Set the current start time.
long unsigned int _start_memory
The starting memory for this node.
long int selfMemory() const
Get the amount of memory added by this node.
void dataStore(std::ostream &stream, const std::unique_ptr< PerfNode > &node, void *context)
Real selfTimeAvg() const
The average time this node took in seconds.
const PerfID _id
The unique ID for the section this Node corresponds to.
long int childrenMemory() const
Get the amount of memory added by this node.
long unsigned int _num_calls
Number of times this node has been called.
Real totalTimeSec() const
The time this Node plus all of its children took in seconds.
std::chrono::steady_clock::duration childrenTime() const
Get the time this nodes children took.
const std::chrono::time_point< std::chrono::steady_clock > & startTime() const
Get the currnet start time Only makes sense if this node is running.
void incrementNumCalls()
Increments the number of calls.
std::chrono::steady_clock::duration _total_time
The total elapsed time for this node.
unsigned long int numCalls() const
Get the number of times this node was called.
const std::map< PerfID, std::unique_ptr< PerfNode > > & children() const
Get the children.
Real childrenTimeSec() const
The time this node's children took in seconds.
PerfID id() const
Get the ID of this Node.
void addTimeAndMemory(const std::chrono::steady_clock::duration time)
Add some time into this Node.
std::chrono::steady_clock::duration totalTime() const
The time this Node plus all of it's children took.
std::map< PerfID, std::unique_ptr< PerfNode > > _children
Timers that are directly underneath this node.
PerfNode * getChild(const PerfID id)
Get a child node with the unique id given.
void dataLoad(std::istream &stream, const std::unique_ptr< PerfNode > &node, void *context)
long unsigned int _total_memory
The total memory added while this node is active.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Real totalTimeAvg() const
The average time this Node plus all of its children took in seconds.
std::chrono::time_point< std::chrono::steady_clock > _start_time
The current start_time for this node (if it's on the stack)
friend void dataStore(std::ostream &, const std::unique_ptr< PerfNode > &, void *)
void addTimeAndMemory(const std::chrono::time_point< std::chrono::steady_clock > time, const long int memory)
Add some time into this Node by taking the difference with the time passed in.
std::chrono::steady_clock::duration selfTime() const
Get the time this node took.
PerfNode(const PerfID id)
Create a PerfNode with the given ID.
const long unsigned int & startMemory() const
Get the current start memory Only makes sense if this node is running.