Classes | Public Types | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes

ACE_Profile_Timer Class Reference

This class provides both a timing mechanism and a mechanism for reporting the resource usage of a process. More...

#include <Profile_Timer.h>

Collaboration diagram for ACE_Profile_Timer:
Collaboration graph
[legend]

List of all members.

Classes

class  ACE_Elapsed_Time
 Keeps track of the various user, system, and elapsed (real) times. More...

Public Types

typedef ACE_Rusage Rusage

Public Member Functions

 ACE_Profile_Timer (void)
 Default constructor. Clears all time values to 0.
 ~ACE_Profile_Timer (void)
 Shutdown the timer.
int start (void)
 Activate the timer.
int stop (void)
 Stop the timer.
int elapsed_time (ACE_Elapsed_Time &et)
 Compute the time elapsed between calls to start() and stop().
void elapsed_rusage (ACE_Profile_Timer::Rusage &rusage)
void get_rusage (ACE_Profile_Timer::Rusage &rusage)
 Return the resource utilization (don't recompute it).
void dump (void) const
 Dump the state of an object.

Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.

Private Member Functions

void compute_times (ACE_Elapsed_Time &et)
 Compute how much time has elapsed.

Private Attributes

ACE_Profile_Timer::Rusage begin_usage_
 Keep track of the starting resource utilization.
ACE_Profile_Timer::Rusage end_usage_
 Keep track of the ending resource utilization.
ACE_Profile_Timer::Rusage last_usage_
 Keep track of the last rusage for incremental timing.
ACE_High_Res_Timer timer_
 The high resolution timer.

Detailed Description

This class provides both a timing mechanism and a mechanism for reporting the resource usage of a process.

Definition at line 34 of file Profile_Timer.h.


Member Typedef Documentation

Definition at line 57 of file Profile_Timer.h.


Constructor & Destructor Documentation

ACE_Profile_Timer::ACE_Profile_Timer ( void   ) 

Default constructor. Clears all time values to 0.

Definition at line 403 of file Profile_Timer.cpp.

  : timer_ ()
{
  ACE_TRACE ("ACE_Profile_Timer::ACE_Profile_Timer");
}

ACE_Profile_Timer::~ACE_Profile_Timer ( void   ) 

Shutdown the timer.

Definition at line 123 of file Profile_Timer.inl.

{
}


Member Function Documentation

void ACE_Profile_Timer::compute_times ( ACE_Elapsed_Time et  )  [private]

Compute how much time has elapsed.

void ACE_Profile_Timer::dump ( void   )  const

Dump the state of an object.

Definition at line 395 of file Profile_Timer.cpp.

{
#if defined (ACE_HAS_DUMP)
  ACE_TRACE ("ACE_Profile_Timer::dump");
  timer_.dump ();
#endif /* ACE_HAS_DUMP */
}

void ACE_Profile_Timer::elapsed_rusage ( ACE_Profile_Timer::Rusage rusage  ) 

Compute the amount of resource utilization between calls to start() and stop().

Definition at line 434 of file Profile_Timer.cpp.

{
  ACE_TRACE ("ACE_Profile_Timer::elapsed_rusage");
  usage = 0;
}

int ACE_Profile_Timer::elapsed_time ( ACE_Elapsed_Time et  ) 

Compute the time elapsed between calls to start() and stop().

Definition at line 410 of file Profile_Timer.cpp.

{
  ACE_TRACE ("ACE_Profile_Timer::elapsed_time");

  ACE_hrtime_t delta_t; /* nanoseconds */
  timer_.elapsed_time (delta_t);

  et.real_time = delta_t / (double) ACE_ONE_SECOND_IN_NSECS;

  et.user_time = 0;
  et.system_time = 0;

  return 0;
}

void ACE_Profile_Timer::get_rusage ( ACE_Profile_Timer::Rusage rusage  ) 

Return the resource utilization (don't recompute it).

Definition at line 426 of file Profile_Timer.cpp.

{
  ACE_TRACE ("ACE_Profile_Timer::get_rusage");
  usage = 0;
}

int ACE_Profile_Timer::start ( void   ) 

Activate the timer.

Definition at line 107 of file Profile_Timer.inl.

{
  ACE_TRACE ("ACE_Profile_Timer::start");
  this->timer_.start ();
  return 0;
}

int ACE_Profile_Timer::stop ( void   ) 

Stop the timer.

Definition at line 115 of file Profile_Timer.inl.

{
  ACE_TRACE ("ACE_Profile_Timer::stop");
  this->timer_.stop ();
  return 0;
}


Member Data Documentation

Declare the dynamic allocation hooks.

Definition at line 88 of file Profile_Timer.h.

Keep track of the starting resource utilization.

Definition at line 95 of file Profile_Timer.h.

Keep track of the ending resource utilization.

Definition at line 98 of file Profile_Timer.h.

Keep track of the last rusage for incremental timing.

Definition at line 101 of file Profile_Timer.h.

The high resolution timer.

Definition at line 128 of file Profile_Timer.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines