MueLu
Version of the Day
|
Timer to be used in factories. Similar to Monitor but with additional timers. More...
#include <MueLu_Monitor.hpp>
Public Member Functions | |
FactoryMonitor (const BaseClass &object, const std::string &msg, int levelID, MsgType msgLevel=static_cast< MsgType >(Test|Runtime0), MsgType timerLevel=Timings0) | |
Constructor. More... | |
FactoryMonitor (const BaseClass &object, const std::string &msg, const Level &level, MsgType msgLevel=static_cast< MsgType >(Test|Runtime0), MsgType timerLevel=Timings0) | |
Constructor. More... | |
![]() | |
Monitor (const BaseClass &object, const std::string &msg, MsgType msgLevel=Runtime0, MsgType timerLevel=Timings0) | |
Constructor. More... | |
Monitor (const BaseClass &object, const std::string &msg, const std::string &label, MsgType msgLevel=Runtime0, MsgType timerLevel=Timings0) | |
Constructor. More... | |
![]() | |
virtual | ~BaseClass () |
Destructor. More... | |
![]() | |
VerbLevel | GetVerbLevel () const |
Get the verbosity level. More... | |
void | SetVerbLevel (const VerbLevel verbLevel) |
Set the verbosity level of this object. More... | |
int | GetProcRankVerbose () const |
Get proc rank used for printing. Do not use this information for any other purpose. More... | |
int | SetProcRankVerbose (int procRank) const |
Set proc rank used for printing. More... | |
bool | IsPrint (MsgType type, int thisProcRankOnly=-1) const |
Find out whether we need to print out information for a specific message type. More... | |
Teuchos::FancyOStream & | GetOStream (MsgType type, int thisProcRankOnly=0) const |
Get an output stream for outputting the input message type. More... | |
Teuchos::FancyOStream & | GetBlackHole () const |
VerboseObject () | |
virtual | ~VerboseObject () |
Destructor. More... | |
![]() | |
virtual | ~Describable () |
Destructor. More... | |
virtual std::string | ShortClassName () const |
Return the class name of the object, without template parameters and without namespace. More... | |
virtual void | describe (Teuchos::FancyOStream &out_arg, const VerbLevel verbLevel=Default) const |
virtual std::string | description () const |
Return a simple one-line description of this object. More... | |
void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const |
Print the object with some verbosity level to an FancyOStream object. More... | |
Static Public Attributes | |
static int | timerIdentifier_ =0 |
Private Attributes | |
RCP< TimeMonitor > | levelTimeMonitor_ |
Total time spent on this level in this object and all its children. More... | |
MutuallyExclusiveTimeMonitor< FactoryBase > | timerMonitorExclusive_ |
Total time spent on all levels in this object only, excluding all children. More... | |
RCP< MutuallyExclusiveTimeMonitor< Level > > | levelTimeMonitorExclusive_ |
Total time spent on this level in this object only, excluding all children. More... | |
Additional Inherited Members | |
![]() | |
static void | SetDefaultOStream (const Teuchos::RCP< Teuchos::FancyOStream > &defaultOStream) |
static Teuchos::RCP< Teuchos::FancyOStream > | GetDefaultOStream () |
static void | SetDefaultVerbLevel (const VerbLevel defaultVerbLevel) |
Set the default (global) verbosity level. More... | |
static VerbLevel | GetDefaultVerbLevel () |
Get the default (global) verbosity level. More... | |
Timer to be used in factories. Similar to Monitor but with additional timers.
This class provides the following three timers for an object:
The three timers above yield output like the following:
MueLu: SaPFactory: Prolongator smoothing 2.599 (6) 2.602 (6) 2.607 (6) 0.4336 (6) MueLu: SaPFactory: Prolongator smoothing (level=5) 0.4731 (1) 0.4735 (1) 0.4736 (1) 0.4735 (1) MueLu: SaPFactory: Prolongator smoothing (total) 6.508 (6) 6.551 (6) 6.557 (6) 1.092 (6)
Note that the keyword total denotes timing of the object and its children.
Definition at line 228 of file MueLu_Monitor.hpp.
|
inline |
Constructor.
[in] | object | Reference to the class instance that is creating this SubMonitor. |
[in] | msg | String that indicates what the SubMonitor is monitoring, e.g., "Build" |
[in] | levelID | The MueLu Level number. |
[in] | msgLevel | Governs whether information should be printed. |
[in] | timerLevel | Governs whether timing information should be gathered. Setting this to NoTimeReport prevents the creation of timers. |
Definition at line 241 of file MueLu_Monitor.hpp.
|
inline |
Constructor.
[in] | object | Reference to the class instance that is creating this SubMonitor. |
[in] | msg | String that indicates what the SubMonitor is monitoring, e.g., "Build". |
[in] | level | The MueLu Level object. |
[in] | msgLevel | Governs whether information should be printed. |
[in] | timerLevel | Governs whether timing information should be gathered. Setting this to NoTimeReport prevents the creation of timers. |
TODO: code factorization
Definition at line 263 of file MueLu_Monitor.hpp.
|
static |
Definition at line 231 of file MueLu_Monitor.hpp.
|
private |
Total time spent on this level in this object and all its children.
Definition at line 278 of file MueLu_Monitor.hpp.
|
private |
Total time spent on all levels in this object only, excluding all children.
Definition at line 280 of file MueLu_Monitor.hpp.
|
private |
Total time spent on this level in this object only, excluding all children.
Definition at line 282 of file MueLu_Monitor.hpp.