Go to the documentation of this file.
46 #ifndef MUELU_MONITOR_HPP
47 #define MUELU_MONITOR_HPP
52 #include "Teuchos_FancyOStream.hpp"
201 #ifdef HAVE_MUELU_PROFILING
202 #define MUELU_TIMER_AS_STRING static_cast<std::ostringstream*>( &(std::ostringstream() << " " << timerIdentifier_++) )->str()
204 #define MUELU_TIMER_AS_STRING
242 :
Monitor(object, msg, msgLevel, timerLevel),
313 :
SubMonitor(object, msg, msgLevel, timerLevel)
344 #endif // MUELU_MONITOR_HPP
RCP< TimeMonitor > levelTimeMonitor_
Total time spent on this level in this object and all its children.
int GetLevelID() const
Return level number.
Print skeleton for the run, i.e. factory calls and used parameters.
SubMonitor(const BaseClass &object, const std::string &msg, const std::string &label, MsgType msgLevel=Runtime1, MsgType timerLevel=Timings1)
Constructor.
Description of what is happening (more verbose)
virtual std::string description() const
Return a simple one-line description of this object.
bool IsPrint(MsgType type, int thisProcRankOnly=-1) const
Find out whether we need to print out information for a specific message type.
Timer to be used in factories. Similar to Monitor but with additional timers.
const BaseClass & object_
One-liner description of what is happening.
SubMonitor(const BaseClass &object, const std::string &msg, MsgType msgLevel=Runtime1, MsgType timerLevel=Timings1)
Constructor.
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
RCP< MutuallyExclusiveTimeMonitor< Level > > levelTimeMonitorExclusive_
Total time spent on this level in this object only, excluding all children.
High level timing information (use Teuchos::TimeMonitor::summarize() to print)
static int timerIdentifier_
Namespace for MueLu classes and methods.
Record timing information level by level. Must be used in combinaison with Timings0/Timings1.
Monitor(const BaseClass &object, const std::string &msg, MsgType msgLevel=Runtime0, MsgType timerLevel=Timings0)
Constructor.
Base class for MueLu classes.
PrintMonitor printMonitor_
#define MUELU_TIMER_AS_STRING
Timer to be used in factories. Similar to SubMonitor but adds a timer level by level.
Timer to be used in non-factories. Similar to Monitor, but doesn't print object description.
TimeMonitor timerMonitor_
Monitor(const BaseClass &object, const std::string &msg, const std::string &label, MsgType msgLevel=Runtime0, MsgType timerLevel=Timings0)
Constructor.
PrintMonitor(const BaseClass &object, const std::string &msg, MsgType msgLevel=Runtime0)
Constructor.
Integrates Teuchos::TimeMonitor with MueLu verbosity system.
SubFactoryMonitor(const BaseClass &object, const std::string &msg, int levelID, MsgType msgLevel=Runtime1, MsgType timerLevel=Timings1)
Constructor.
MutuallyExclusiveTimeMonitor< FactoryBase > timerMonitorExclusive_
Total time spent on all levels in this object only, excluding all children.
virtual std::string getObjectLabel() const
Detailed timing information (use Teuchos::TimeMonitor::summarize() to print)
PrintMonitor printMonitor_
Manages printing.
FactoryMonitor(const BaseClass &object, const std::string &msg, const Level &level, MsgType msgLevel=static_cast< MsgType >(Test|Runtime0), MsgType timerLevel=Timings0)
Constructor.
Teuchos::FancyOStream & GetOStream(MsgType type, int thisProcRankOnly=0) const
Get an output stream for outputting the input message type.
Timer to be used in non-factories.
virtual RCP< FancyOStream > getOStream() const
Similar to TimeMonitor, but uses MutuallyExclusiveTime objects.
FactoryMonitor(const BaseClass &object, const std::string &msg, int levelID, MsgType msgLevel=static_cast< MsgType >(Test|Runtime0), MsgType timerLevel=Timings0)
Constructor.
static std::string toString(const double &x)
RCP< TimeMonitor > levelTimeMonitor_
Total time spent on this level in this object and all children.
TimeMonitor timerMonitor_
Records total time spent in this object and all its children, over all levels.
SubFactoryMonitor(const BaseClass &object, const std::string &msg, const Level &level, MsgType msgLevel=Runtime1, MsgType timerLevel=Timings1)
Constructor.
Class that holds all level-specific information.
virtual std::string ShortClassName() const
Return the class name of the object, without template parameters and without namespace.