Open CASCADE Technology  7.7.0
Public Member Functions | Static Public Member Functions | Protected Attributes
OSD_Chronometer Class Reference

This class measures CPU time (both user and system) consumed by current process or thread. The chronometer can be started and stopped multiple times, and measures cumulative time. More...

#include <OSD_Chronometer.hxx>

Inheritance diagram for OSD_Chronometer:
Inheritance graph
[legend]

Public Member Functions

 OSD_Chronometer (Standard_Boolean theThisThreadOnly=Standard_False)
 Initializes a stopped Chronometer. More...
 
virtual ~OSD_Chronometer ()
 Destructor. More...
 
Standard_Boolean IsStarted () const
 Return true if timer has been started. More...
 
virtual void Reset ()
 Stops and Reinitializes the Chronometer. More...
 
virtual void Restart ()
 Restarts the Chronometer. More...
 
virtual void Stop ()
 Stops the Chronometer. More...
 
virtual void Start ()
 Starts (after Create or Reset) or restarts (after Stop) the chronometer. More...
 
virtual void Show () const
 Shows the current CPU user and system time on the standard output stream <cout>. The chronometer can be running (laps Time) or stopped. More...
 
virtual void Show (Standard_OStream &theOStream) const
 Shows the current CPU user and system time on the output stream <os>. The chronometer can be running (laps Time) or stopped. More...
 
Standard_Real UserTimeCPU () const
 Returns the current CPU user time in seconds. The chronometer can be running (laps Time) or stopped. More...
 
Standard_Real SystemTimeCPU () const
 Returns the current CPU system time in seconds. The chronometer can be running (laps Time) or stopped. More...
 
Standard_Boolean IsThisThreadOnly () const
 Return TRUE if current thread CPU time should be measured, and FALSE to measure all threads CPU time; FALSE by default,. More...
 
void SetThisThreadOnly (Standard_Boolean theIsThreadOnly)
 Set if current thread (TRUE) or all threads (FALSE) CPU time should be measured. Will raise exception if Timer is in started state. More...
 
void Show (Standard_Real &theUserSeconds) const
 Returns the current CPU user time in a variable. The chronometer can be running (laps Time) or stopped. More...
 
void Show (Standard_Real &theUserSec, Standard_Real &theSystemSec) const
 Returns the current CPU user and system time in variables. The chronometer can be running (laps Time) or stopped. More...
 

Static Public Member Functions

static void GetProcessCPU (Standard_Real &UserSeconds, Standard_Real &SystemSeconds)
 Returns CPU time (user and system) consumed by the current process since its start, in seconds. The actual precision of the measurement depends on granularity provided by the system, and is platform-specific. More...
 
static void GetThreadCPU (Standard_Real &UserSeconds, Standard_Real &SystemSeconds)
 Returns CPU time (user and system) consumed by the current thread since its start. Note that this measurement is platform-specific, as threads are implemented and managed differently on different platforms and CPUs. More...
 

Protected Attributes

Standard_Real myStartCpuUser
 
Standard_Real myStartCpuSys
 
Standard_Real myCumulCpuUser
 
Standard_Real myCumulCpuSys
 
Standard_Boolean myIsStopped
 
Standard_Boolean myIsThreadOnly
 

Detailed Description

This class measures CPU time (both user and system) consumed by current process or thread. The chronometer can be started and stopped multiple times, and measures cumulative time.

If only the thread is measured, calls to Stop() and Show() must occur from the same thread where Start() was called (unless chronometer is stopped); otherwise measurement will yield false values.

Constructor & Destructor Documentation

◆ OSD_Chronometer()

OSD_Chronometer::OSD_Chronometer ( Standard_Boolean  theThisThreadOnly = Standard_False)

Initializes a stopped Chronometer.

If ThisThreadOnly is True, measured CPU time will account time of the current thread only; otherwise CPU of the process (all threads, and completed children) is measured.

◆ ~OSD_Chronometer()

virtual OSD_Chronometer::~OSD_Chronometer ( )
virtual

Destructor.

Member Function Documentation

◆ GetProcessCPU()

static void OSD_Chronometer::GetProcessCPU ( Standard_Real UserSeconds,
Standard_Real SystemSeconds 
)
static

Returns CPU time (user and system) consumed by the current process since its start, in seconds. The actual precision of the measurement depends on granularity provided by the system, and is platform-specific.

◆ GetThreadCPU()

static void OSD_Chronometer::GetThreadCPU ( Standard_Real UserSeconds,
Standard_Real SystemSeconds 
)
static

Returns CPU time (user and system) consumed by the current thread since its start. Note that this measurement is platform-specific, as threads are implemented and managed differently on different platforms and CPUs.

◆ IsStarted()

Standard_Boolean OSD_Chronometer::IsStarted ( ) const
inline

Return true if timer has been started.

◆ IsThisThreadOnly()

Standard_Boolean OSD_Chronometer::IsThisThreadOnly ( ) const
inline

Return TRUE if current thread CPU time should be measured, and FALSE to measure all threads CPU time; FALSE by default,.

◆ Reset()

virtual void OSD_Chronometer::Reset ( )
virtual

Stops and Reinitializes the Chronometer.

Reimplemented in OSD_Timer.

◆ Restart()

virtual void OSD_Chronometer::Restart ( )
virtual

Restarts the Chronometer.

Reimplemented in OSD_Timer.

◆ SetThisThreadOnly()

void OSD_Chronometer::SetThisThreadOnly ( Standard_Boolean  theIsThreadOnly)

Set if current thread (TRUE) or all threads (FALSE) CPU time should be measured. Will raise exception if Timer is in started state.

◆ Show() [1/4]

virtual void OSD_Chronometer::Show ( ) const
virtual

Shows the current CPU user and system time on the standard output stream <cout>. The chronometer can be running (laps Time) or stopped.

Reimplemented in OSD_Timer.

◆ Show() [2/4]

virtual void OSD_Chronometer::Show ( Standard_OStream theOStream) const
virtual

Shows the current CPU user and system time on the output stream <os>. The chronometer can be running (laps Time) or stopped.

Reimplemented in OSD_Timer.

◆ Show() [3/4]

void OSD_Chronometer::Show ( Standard_Real theUserSeconds) const
inline

Returns the current CPU user time in a variable. The chronometer can be running (laps Time) or stopped.

◆ Show() [4/4]

void OSD_Chronometer::Show ( Standard_Real theUserSec,
Standard_Real theSystemSec 
) const

Returns the current CPU user and system time in variables. The chronometer can be running (laps Time) or stopped.

◆ Start()

virtual void OSD_Chronometer::Start ( )
virtual

Starts (after Create or Reset) or restarts (after Stop) the chronometer.

Reimplemented in OSD_Timer.

◆ Stop()

virtual void OSD_Chronometer::Stop ( )
virtual

Stops the Chronometer.

Reimplemented in OSD_Timer.

◆ SystemTimeCPU()

Standard_Real OSD_Chronometer::SystemTimeCPU ( ) const
inline

Returns the current CPU system time in seconds. The chronometer can be running (laps Time) or stopped.

◆ UserTimeCPU()

Standard_Real OSD_Chronometer::UserTimeCPU ( ) const
inline

Returns the current CPU user time in seconds. The chronometer can be running (laps Time) or stopped.

Field Documentation

◆ myCumulCpuSys

Standard_Real OSD_Chronometer::myCumulCpuSys
protected

◆ myCumulCpuUser

Standard_Real OSD_Chronometer::myCumulCpuUser
protected

◆ myIsStopped

Standard_Boolean OSD_Chronometer::myIsStopped
protected

◆ myIsThreadOnly

Standard_Boolean OSD_Chronometer::myIsThreadOnly
protected

◆ myStartCpuSys

Standard_Real OSD_Chronometer::myStartCpuSys
protected

◆ myStartCpuUser

Standard_Real OSD_Chronometer::myStartCpuUser
protected

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