The Gaudi Framework  v29r0 (ff2e7097)
System::ProcessTime Class Reference

Simple class to hold the time information of a process. More...

#include <GaudiKernel/Timing.h>

Public Types

typedef long long TimeValueType
 

Public Member Functions

 ProcessTime ()
 Constructor. More...
 
 ProcessTime (TimeValueType k, TimeValueType u, TimeValueType e)
 Constructor. More...
 
template<TimeType T>
TimeValueType kernelTime () const
 Retrieve the kernel time in the requested unit. More...
 
template<TimeType T>
TimeValueType userTime () const
 Retrieve the user time in the requested unit. More...
 
template<TimeType T>
TimeValueType elapsedTime () const
 Retrieve the elapsed time in the requested unit. More...
 
template<TimeType T>
TimeValueType cpuTime () const
 Retrieve the CPU (user+kernel) time in the requested unit. More...
 
ProcessTime operator- (const ProcessTime &rhs) const
 Return the delta between two ProcessTime objects. More...
 
ProcessTimeoperator+= (const ProcessTime &rhs)
 Add the timings to the current objects. More...
 

Private Attributes

TimeValueType i_kernel
 Internal storage. More...
 
TimeValueType i_user
 
TimeValueType i_elapsed
 

Detailed Description

Simple class to hold the time information of a process.

Simplify the simultaneous handling of kernel, user and elapsed times of a process.

See also
{bug #87341}

Definition at line 147 of file Timing.h.

Member Typedef Documentation

Definition at line 150 of file Timing.h.

Constructor & Destructor Documentation

System::ProcessTime::ProcessTime ( )
inline

Constructor.

Definition at line 153 of file Timing.h.

153 : i_kernel( 0 ), i_user( 0 ), i_elapsed( 0 ) {}
TimeValueType i_kernel
Internal storage.
Definition: Timing.h:202
TimeValueType i_user
Definition: Timing.h:202
TimeValueType i_elapsed
Definition: Timing.h:202
System::ProcessTime::ProcessTime ( TimeValueType  k,
TimeValueType  u,
TimeValueType  e 
)
inline

Constructor.

Definition at line 156 of file Timing.h.

156 : i_kernel( k ), i_user( u ), i_elapsed( e ) {}
TimeValueType i_kernel
Internal storage.
Definition: Timing.h:202
TimeValueType i_user
Definition: Timing.h:202
TimeValueType i_elapsed
Definition: Timing.h:202

Member Function Documentation

template<TimeType T>
TimeValueType System::ProcessTime::cpuTime ( ) const
inline

Retrieve the CPU (user+kernel) time in the requested unit.

Definition at line 181 of file Timing.h.

182  {
183  return adjustTime<T>( i_user + i_kernel );
184  }
TimeValueType i_kernel
Internal storage.
Definition: Timing.h:202
TimeValueType i_user
Definition: Timing.h:202
template<TimeType T>
TimeValueType System::ProcessTime::elapsedTime ( ) const
inline

Retrieve the elapsed time in the requested unit.

Definition at line 174 of file Timing.h.

175  {
176  return adjustTime<T>( i_elapsed );
177  }
TimeValueType i_elapsed
Definition: Timing.h:202
template<TimeType T>
TimeValueType System::ProcessTime::kernelTime ( ) const
inline

Retrieve the kernel time in the requested unit.

Definition at line 160 of file Timing.h.

161  {
162  return adjustTime<T>( i_kernel );
163  }
TimeValueType i_kernel
Internal storage.
Definition: Timing.h:202
ProcessTime& System::ProcessTime::operator+= ( const ProcessTime rhs)
inline

Add the timings to the current objects.

Definition at line 192 of file Timing.h.

193  {
194  i_kernel += rhs.i_kernel;
195  i_user += rhs.i_user;
196  i_elapsed += rhs.i_elapsed;
197  return *this;
198  }
TimeValueType i_kernel
Internal storage.
Definition: Timing.h:202
TimeValueType i_user
Definition: Timing.h:202
TimeValueType i_elapsed
Definition: Timing.h:202
ProcessTime System::ProcessTime::operator- ( const ProcessTime rhs) const
inline

Return the delta between two ProcessTime objects.

Definition at line 187 of file Timing.h.

188  {
189  return ProcessTime( i_kernel - rhs.i_kernel, i_user - rhs.i_user, i_elapsed - rhs.i_elapsed );
190  }
ProcessTime()
Constructor.
Definition: Timing.h:153
TimeValueType i_kernel
Internal storage.
Definition: Timing.h:202
TimeValueType i_user
Definition: Timing.h:202
TimeValueType i_elapsed
Definition: Timing.h:202
template<TimeType T>
TimeValueType System::ProcessTime::userTime ( ) const
inline

Retrieve the user time in the requested unit.

Definition at line 167 of file Timing.h.

168  {
169  return adjustTime<T>( i_user );
170  }
TimeValueType i_user
Definition: Timing.h:202

Member Data Documentation

TimeValueType System::ProcessTime::i_elapsed
private

Definition at line 202 of file Timing.h.

TimeValueType System::ProcessTime::i_kernel
private

Internal storage.

Definition at line 202 of file Timing.h.

TimeValueType System::ProcessTime::i_user
private

Definition at line 202 of file Timing.h.


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