Open CASCADE Technology 7.8.2.dev
MoniTool_Timer Class Reference

Provides convenient service on global timers accessed by string name, mostly aimed for debugging purposes. More...

#include <MoniTool_Timer.hxx>

Inheritance diagram for MoniTool_Timer:

Public Member Functions

 MoniTool_Timer ()
 Create timer in empty state.
 
const OSD_TimerTimer () const
 
OSD_TimerTimer ()
 Return reference to embedded OSD_Timer.
 
void Start ()
 
void Stop ()
 
void Reset ()
 Start, Stop and reset the timer In addition to doing that to embedded OSD_Timer, manage also counter of hits.
 
Standard_Integer Count () const
 Return value of hits counter (count of Start/Stop pairs)
 
Standard_Integer IsRunning () const
 Returns value of nesting counter.
 
Standard_Real CPU ()
 Return value of CPU time minus accumulated amendment.
 
Standard_Real Amend () const
 Return value of accumulated amendment on CPU time.
 
void Dump (Standard_OStream &ostr)
 Dumps current state of a timer shortly (one-line output)
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor.
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing.
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter.
 
virtual ~Standard_Transient ()
 Destructor must be virtual.
 
virtual const opencascade::handle< Standard_Type > & DynamicType () const
 Returns a type descriptor about this object.
 
Standard_Boolean IsInstance (const opencascade::handle< Standard_Type > &theType) const
 Returns a true value if this is an instance of Type.
 
Standard_Boolean IsInstance (const Standard_CString theTypeName) const
 Returns a true value if this is an instance of TypeName.
 
Standard_Boolean IsKind (const opencascade::handle< Standard_Type > &theType) const
 Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
Standard_Boolean IsKind (const Standard_CString theTypeName) const
 Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism.
 
Standard_TransientThis () const
 Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero.
 
Standard_Integer GetRefCount () const noexcept
 Get the reference counter of this object.
 
void IncrementRefCounter () noexcept
 Increments the reference counter of this object.
 
Standard_Integer DecrementRefCounter () noexcept
 Decrements the reference counter of this object; returns the decremented value.
 
virtual void Delete () const
 Memory deallocator for transient classes.
 

Static Public Member Functions

static Handle< MoniTool_TimerTimer (const Standard_CString name)
 Returns a timer from a dictionary by its name If timer not existed, creates a new one.
 
static void Start (const Standard_CString name)
 
static void Stop (const Standard_CString name)
 Inline methods to conveniently start/stop timer by name Shortcut to Timer(name)->Start/Stop()
 
static MoniTool_DataMapOfTimerDictionary ()
 Returns map of timers.
 
static void ClearTimers ()
 Clears map of timers.
 
static void DumpTimers (Standard_OStream &ostr)
 Dumps contents of the whole dictionary.
 
static void ComputeAmendments ()
 Computes and remembers amendments for times to access, start, and stop of timer, and estimates second-order error measured by 10 nested timers.
 
static void GetAmendments (Standard_Real &Access, Standard_Real &Internal, Standard_Real &External, Standard_Real &Error10)
 The computed amendmens are returned (for information only)
 
- Static Public Member Functions inherited from Standard_Transient
static constexpr const char * get_type_name ()
 Returns a type descriptor about this object.
 
static const opencascade::handle< Standard_Type > & get_type_descriptor ()
 Returns type descriptor of Standard_Transient class.
 

Additional Inherited Members

- Public Types inherited from Standard_Transient
typedef void base_type
 Returns a type descriptor about this object.
 

Detailed Description

Provides convenient service on global timers accessed by string name, mostly aimed for debugging purposes.

As an instance, envelopes the OSD_Timer to have it as Handle

As a tool, supports static dictionary of timers and provides static methods to easily access them

Constructor & Destructor Documentation

◆ MoniTool_Timer()

MoniTool_Timer::MoniTool_Timer ( )

Create timer in empty state.

Member Function Documentation

◆ Amend()

Standard_Real MoniTool_Timer::Amend ( ) const

Return value of accumulated amendment on CPU time.

◆ ClearTimers()

static void MoniTool_Timer::ClearTimers ( )
static

Clears map of timers.

◆ ComputeAmendments()

static void MoniTool_Timer::ComputeAmendments ( )
static

Computes and remembers amendments for times to access, start, and stop of timer, and estimates second-order error measured by 10 nested timers.

◆ Count()

Standard_Integer MoniTool_Timer::Count ( ) const

Return value of hits counter (count of Start/Stop pairs)

◆ CPU()

Standard_Real MoniTool_Timer::CPU ( )

Return value of CPU time minus accumulated amendment.

◆ Dictionary()

static MoniTool_DataMapOfTimer & MoniTool_Timer::Dictionary ( )
static

Returns map of timers.

◆ Dump()

void MoniTool_Timer::Dump ( Standard_OStream & ostr)

Dumps current state of a timer shortly (one-line output)

◆ DumpTimers()

static void MoniTool_Timer::DumpTimers ( Standard_OStream & ostr)
static

Dumps contents of the whole dictionary.

◆ GetAmendments()

static void MoniTool_Timer::GetAmendments ( Standard_Real & Access,
Standard_Real & Internal,
Standard_Real & External,
Standard_Real & Error10 )
static

The computed amendmens are returned (for information only)

◆ IsRunning()

Standard_Integer MoniTool_Timer::IsRunning ( ) const

Returns value of nesting counter.

◆ Reset()

void MoniTool_Timer::Reset ( )

Start, Stop and reset the timer In addition to doing that to embedded OSD_Timer, manage also counter of hits.

◆ Start() [1/2]

void MoniTool_Timer::Start ( )

◆ Start() [2/2]

static void MoniTool_Timer::Start ( const Standard_CString name)
static

◆ Stop() [1/2]

void MoniTool_Timer::Stop ( )

◆ Stop() [2/2]

static void MoniTool_Timer::Stop ( const Standard_CString name)
static

Inline methods to conveniently start/stop timer by name Shortcut to Timer(name)->Start/Stop()

◆ Timer() [1/3]

OSD_Timer & MoniTool_Timer::Timer ( )

Return reference to embedded OSD_Timer.

◆ Timer() [2/3]

const OSD_Timer & MoniTool_Timer::Timer ( ) const

◆ Timer() [3/3]

static Handle< MoniTool_Timer > MoniTool_Timer::Timer ( const Standard_CString name)
static

Returns a timer from a dictionary by its name If timer not existed, creates a new one.


The documentation for this class was generated from the following file: