Interface managing execution time statistics. More...
#include <arcane/core/ITimeStats.h>
Public Member Functions | |
| virtual void | beginGatherStats ()=0 |
| Starts time collection. | |
| virtual void | endGatherStats ()=0 |
| Stops time collection. | |
| virtual void | beginAction (const String &action_name)=0 |
| virtual void | endAction (const String &action_name, bool print_time)=0 |
| virtual void | beginPhase (eTimePhase phase)=0 |
| virtual void | endPhase (eTimePhase phase)=0 |
| virtual Real | elapsedTime (eTimePhase phase)=0 |
| Real elapsed time for phase phase. | |
| virtual Real | elapsedTime (eTimePhase phase, const String &action)=0 |
| Elapsed time for a phase of an action. | |
| virtual void | dumpCurrentStats (const String &name)=0 |
| Displays statistics for an action. | |
| virtual void | dumpStats (std::ostream &ostr, bool is_verbose, Real nb, const String &name, bool use_elapsed_time=false)=0 |
| Displays execution time statistics. | |
| virtual void | dumpTimeAndMemoryUsage (IParallelMng *pm)=0 |
| Displays the current date and memory consumption. | |
| virtual bool | isGathering () const =0 |
| Indicates if statistics are active. | |
| virtual void | dumpStatsJSON (JSONWriter &writer)=0 |
| Serializes the temporal statistics into the writer writer. | |
| virtual ITimeMetricCollector * | metricCollector ()=0 |
| Associated collection interface. | |
| virtual void | notifyNewIterationLoop ()=0 |
| Notifies that a new iteration of the calculation loop begins. | |
| virtual void | saveTimeValues (Properties *p)=0 |
| virtual void | mergeTimeValues (Properties *p)=0 |
| virtual void | resetStats (const String &action_name)=0 |
Interface managing execution time statistics.
You must call beginGatherStats() to start collecting the information and call endGatherStats() to stop the collection.
Generally, this interface is not used directly but through the Timer::Phase and Timer::Action classes.
The methods of this class must only be called by a single thread.
Definition at line 43 of file ITimeStats.h.
|
pure virtual |
Starts time collection.
Implemented in Arcane::TimeStats.
|
pure virtual |
Displays statistics for an action.
Displays the statistics for action name as well as its sub-actions for the current iteration.
Implemented in Arcane::TimeStats.
Referenced by Arcane::TimeLoopMng::_doMeshPartition().
|
pure virtual |
Displays execution time statistics.
It is possible to specify a value to get a time per iteration or per entity. If use_elapsed_time is true, it uses clock time; otherwise, it uses CPU time.
Implemented in Arcane::TimeStats.
|
pure virtual |
Serializes the temporal statistics into the writer writer.
Implemented in Arcane::TimeStats.
|
pure virtual |
Displays the current date and memory consumption.
This operation is collective on pm.
This operation displays the memory consumed for the current subdomain as well as the min and max for all subdomains.
Implemented in Arcane::TimeStats.
Referenced by Arcane::ArcaneInitialPartitioner::_mergeConstraints(), Arcane::mesh::DynamicMesh::endAllocate(), and Arcane::ArcaneInitialPartitioner::partitionAndDistributeMeshes().
|
pure virtual |
Real elapsed time for phase phase.
Returns the real elapsed time (in seconds) for phase phase.
Implemented in Arcane::TimeStats.
|
pure virtual |
Elapsed time for a phase of an action.
Returns the real elapsed time (in seconds) for phase phase of action action. The returned time includes that of the action and all of its children.
Implemented in Arcane::TimeStats.
|
pure virtual |
Stops time collection.
Implemented in Arcane::TimeStats.
|
pure virtual |
Indicates if statistics are active.
Statistics are active between the call to beginGatherStats() and endGatherStats().
Implemented in Arcane::TimeStats.
|
pure virtual |
Associated collection interface.
Implemented in Arcane::TimeStats.
Referenced by Arcane::ParallelMngDispatcher::setTimeStats(), and Arcane::ParallelMngDispatcher::timeMetricCollector().
|
pure virtual |
Notifies that a new iteration of the calculation loop begins.
This information is used to calculate times per iteration.
Implemented in Arcane::TimeStats.
Referenced by Arcane::TimeLoopMng::doOneIteration().