46 #ifndef MUELU_MONITOR_HPP 
   47 #define MUELU_MONITOR_HPP 
   52 #include "Teuchos_FancyOStream.hpp"      
  182 #ifdef HAVE_MUELU_PROFILING 
  183 #define MUELU_TIMER_AS_STRING static_cast<std::ostringstream*>( &(std::ostringstream() << " " << timerIdentifier_++) )->str() 
  185 #define MUELU_TIMER_AS_STRING 
  291 #endif // MUELU_MONITOR_HPP 
RCP< TimeMonitor > levelTimeMonitor_
Total time spent on this level in this object and all children. 
 
High level timing information (use Teuchos::TimeMonitor::summarize() to print) 
 
Timer to be used in factories. Similar to Monitor but with additional timers. 
 
Timer to be used in non-factories. Similar to Monitor, but doesn't print object description. 
 
One-liner description of what is happening. 
 
MutuallyExclusiveTimeMonitor< FactoryBase > timerMonitorExclusive_
Total time spent on all levels in this object only, excluding all children. 
 
Integrates Teuchos::TimeMonitor with MueLu verbosity system. 
 
virtual ~Monitor()=default
 
Monitor(const BaseClass &object, const std::string &msg, MsgType msgLevel=Runtime0, MsgType timerLevel=Timings0)
Constructor. 
 
Class that holds all level-specific information. 
 
RCP< TimeMonitor > levelTimeMonitor_
Total time spent on this level in this object and all its children. 
 
FactoryMonitor(const BaseClass &object, const std::string &msg, int levelID, MsgType msgLevel=static_cast< MsgType >(Test|Runtime0), MsgType timerLevel=Timings0)
Constructor. 
 
Detailed timing information (use Teuchos::TimeMonitor::summarize() to print) 
 
Timer to be used in factories. Similar to SubMonitor but adds a timer level by level. 
 
Similar to TimeMonitor, but uses MutuallyExclusiveTime objects. 
 
TimeMonitor timerMonitor_
 
Base class for MueLu classes. 
 
SubFactoryMonitor(const BaseClass &object, const std::string &msg, int levelID, MsgType msgLevel=Runtime1, MsgType timerLevel=Timings1)
Constructor. 
 
Timer to be used in non-factories. 
 
RCP< MutuallyExclusiveTimeMonitor< Level > > levelTimeMonitorExclusive_
Total time spent on this level in this object only, excluding all children. 
 
static int timerIdentifier_
 
PrintMonitor printMonitor_
Manages printing. 
 
Description of what is happening (more verbose) 
 
const BaseClass & object_
 
TimeMonitor timerMonitor_
Records total time spent in this object and all its children, over all levels. 
 
PrintMonitor printMonitor_
 
SubMonitor(const BaseClass &object, const std::string &msg, MsgType msgLevel=Runtime1, MsgType timerLevel=Timings1)
Constructor.