10 object_.getOStream()->pushTab();
18 : printMonitor_(object, msg +
" (" + object.description() +
")", msgLevel),
19 timerMonitor_(object, object.ShortClassName() +
": " + msg +
" (total)", timerLevel)
23 : printMonitor_(object, label + msg +
" (" + object.description() +
")", msgLevel),
24 timerMonitor_(object, label + object.ShortClassName() +
": " + msg +
" (total)", timerLevel)
28 : printMonitor_(object, msg, msgLevel),
29 timerMonitor_(object, object.ShortClassName() +
": " + msg +
" (sub, total)", timerLevel)
33 : printMonitor_(object, label + msg, msgLevel),
34 timerMonitor_(object, label + object.ShortClassName() +
": " + msg +
" (sub, total)", timerLevel)
38 :
Monitor(object, msg, msgLevel, timerLevel),
39 timerMonitorExclusive_(object, object.ShortClassName() +
": " + msg, timerLevel)
42 if (Teuchos::TimeMonitor::getStackedTimer().is_null())
44 " (total, level=" + Teuchos::Utils::toString(levelID) +
")", timerLevel));
46 MUELU_TIMER_AS_STRING +
": " + msg +
" (level=" + Teuchos::Utils::toString(levelID) +
")", timerLevel));
52 timerMonitorExclusive_(object,
FormattingHelper::getColonLabel(level.getObjectLabel()) + object.ShortClassName() +
": " + msg, timerLevel)
56 if (Teuchos::TimeMonitor::getStackedTimer().is_null())
58 " (total, level=" + Teuchos::Utils::toString(level.
GetLevelID()) +
")", timerLevel));
65 :
SubMonitor(object, msg, msgLevel, timerLevel)
69 " (sub, total, level=" + Teuchos::Utils::toString(levelID) +
")", timerLevel));
78 " (sub, total, level=" + Teuchos::Utils::toString(level.
GetLevelID()) +
")", timerLevel));
#define MUELU_TIMER_AS_STRING
Base class for MueLu classes.
virtual std::string ShortClassName() const
Return the class name of the object, without template parameters and without namespace.
FactoryMonitor(const BaseClass &object, const std::string &msg, int levelID, MsgType msgLevel=static_cast< MsgType >(Test|Runtime0), MsgType timerLevel=Timings0)
Constructor.
static int timerIdentifier_
RCP< TimeMonitor > levelTimeMonitor_
Total time spent on this level in this object and all its children.
RCP< MutuallyExclusiveTimeMonitor< Level > > levelTimeMonitorExclusive_
Total time spent on this level in this object only, excluding all children.
Class that holds all level-specific information.
int GetLevelID() const
Return level number.
Timer to be used in non-factories.
Monitor(const BaseClass &object, const std::string &msg, MsgType msgLevel=Runtime0, MsgType timerLevel=Timings0)
Constructor.
Similar to TimeMonitor, but uses MutuallyExclusiveTime objects.
const BaseClass & object_
RCP< TimeMonitor > levelTimeMonitor_
Total time spent on this level in this object and all children.
SubFactoryMonitor(const BaseClass &object, const std::string &msg, int levelID, MsgType msgLevel=Runtime1, MsgType timerLevel=Timings1)
Constructor.
Timer to be used in non-factories. Similar to Monitor, but doesn't print object description.
SubMonitor(const BaseClass &object, const std::string &msg, MsgType msgLevel=Runtime1, MsgType timerLevel=Timings1)
Constructor.
Integrates Teuchos::TimeMonitor with MueLu verbosity system.
Teuchos::FancyOStream & GetOStream(MsgType type, int thisProcRankOnly=0) const
Get an output stream for outputting the input message type.
bool IsPrint(MsgType type, int thisProcRankOnly=-1) const
Find out whether we need to print out information for a specific message type.
Namespace for MueLu classes and methods.
@ TimingsByLevel
Record timing information level by level. Must be used in combinaison with Timings0/Timings1.