Go to the documentation of this file.
46 #ifndef MUELU_MONITOR_HPP
47 #define MUELU_MONITOR_HPP
52 #include "Teuchos_FancyOStream.hpp"
53 #include "Teuchos_RCPDecl.hpp"
54 #include "Teuchos_RCP.hpp"
55 #include "Teuchos_Utils.hpp"
88 object_.getOStream()->pushTab();
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)
std::string toString(const T &what)
Little helper function to convert non-string types to strings.
virtual std::string description() const
Return a simple one-line description of this object.
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.
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.
Teuchos::FancyOStream & GetOStream(MsgType type, int thisProcRankOnly=0) const
Get an output stream for outputting the input message type.
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.
bool IsPrint(MsgType type, int thisProcRankOnly=-1) const
Find out whether we need to print out information for a specific message type.
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.
Timer to be used in non-factories.
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.
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.