ACE_Profile_Timer提供时间机制和报告处理器的资源使用。
class ACE_Profile_Timer
{
class ACE_Elapsed_Time
{
public:
/// 流逝的时钟时间
ACE_timer_t real_time;
///花费用户空间的CPU时间
ACE_timer_t user_time;
/// 花费系统空间CPU 时间
ACE_timer_t system_time;
};
typedef ACE_Rusage Rusage;
/// 激活定时器.
int start (void);
/// 停止定时器
int stop (void);
// 资源利用方法
/// 计算流逝的时间calls to @c start() and @c stop().
int elapsed_time (ACE_Elapsed_Time &et);
/// 计算资源利用数between calls to @c start()
/// and @c stop().
void elapsed_rusage (ACE_Profile_Timer::Rusage &rusage);
/// 返回资源利用 (不建议使用).
void get_rusage (ACE_Profile_Timer::Rusage &rusage);
/// 转储对象
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_;
#if defined (ACE_HAS_PRUSAGE_T)
///减掉两个时间结构并存储他们的差.
void subtract (timespec_t &tdiff, timespec_t &t0, timespec_t &t1);
/// I/O handle for /proc file system.
ACE_HANDLE proc_handle_;
#elif defined (ACE_HAS_GETRUSAGE)
/// 减掉两个时间结构并存储他们的差
void subtract (timeval &tdiff,
timeval &t0,
timeval &t1);
/// 开始时间
timeval begin_time_;
/// 终止时间
timeval end_time_;
}