NAME

ACE_Profile_Timer - A C++ wrapper for UNIX interval timers.

SYNOPSIS

#include <ace/Profile_Timer.h>

class ACE_Profile_Timer { public: typedef prusage_t Rusage; typedef rusage Rusage; ACE_Profile_Timer (void); ~ACE_Profile_Timer (void); int start (void); int stop (void); int elapsed_time (ACE_Elapsed_Time &et); void elapsed_rusage (ACE_Profile_Timer::Rusage &rusage); void get_rusage (ACE_Profile_Timer::Rusage &rusage); void dump (void) const; ACE_ALLOC_HOOK_DECLARE;

struct ACE_Elapsed_Time { public: double real_time; double user_time; double system_time; ACE_UINT32 real_time; ACE_UINT32 user_time; ACE_UINT32 system_time; double real_time; double user_time; double system_time; };

ACE_Profile_Timer (void); inline ~ACE_Profile_Timer (void); int start (void); int stop (void); int elapsed_time (ACE_Elapsed_Time &et); void dump (void) const; private: void compute_times (ACE_Elapsed_Time &et); ACE_Profile_Timer::Rusage begin_usage_; ACE_Profile_Timer::Rusage end_usage_; ACE_Profile_Timer::Rusage last_usage_; void subtract (timespec_t &tdiff, timespec_t &t0, timespec_t &t1); ACE_HANDLE proc_handle_; void subtract (timeval &tdiff, timeval &t0, timeval &t1); timeval begin_time_; timeval end_time_; timeval last_time_; ACE_Time_Value begin_time_; ACE_Time_Value end_time_; ACE_Time_Value last_time_; ACE_High_Res_Timer timer_; };

Initialization and termination methods.

ACE_Profile_Timer (void);

~ACE_Profile_Timer (void);

Timer methods.

int start (void);

int stop (void);

Resource utilization methods.

int elapsed_time (ACE_Elapsed_Time &et);

void elapsed_rusage (ACE_Profile_Timer::Rusage &rusage);

void get_rusage (ACE_Profile_Timer::Rusage &rusage);

void dump (void) const;

ACE_ALLOC_HOOK_DECLARE;

AUTHOR

Doug Schmidt

LIBRARY

ace