/* $Id: timer.h 6129 2003-01-19 00:39:49Z rra $ ** ** Timer library interface. ** ** An interface to a simple profiling library. An application can declare ** its intent to use n timers by calling TMRinit(n), and then start and ** stop numbered timers with TMRstart and TMRstop. TMRsummary logs the ** results to syslog given labels for each numbered timer. */ #ifndef INN_TIMER_H #define INN_TIMER_H #include BEGIN_DECLS enum { TMR_HISHAVE, /* Looking up ID in history (yes/no). */ TMR_HISGREP, /* Looking up ID in history (data). */ TMR_HISWRITE, /* Writing to history. */ TMR_HISSYNC, /* Syncing history to disk. */ TMR_APPLICATION /* Application numbering starts here. */ }; void TMRinit(unsigned int); void TMRstart(unsigned int); void TMRstop(unsigned int); void TMRsummary(const char *prefix, const char *const *labels); unsigned long TMRnow(void); void TMRfree(void); /* Return the current time as a double of seconds and fractional sections. */ double TMRnow_double(void); END_DECLS #endif /* INN_TIMER_H */