summaryrefslogtreecommitdiffstats
path: root/include/inn/timer.h
blob: 0cc611f1292ea28a8e64522bb3b248379b0d72d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/*  $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 <inn/defines.h>

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 */