Mercurial > dovecot > core-2.2
annotate src/lib/timing.h @ 23007:36e01285b5b8
lib: buffer - Improve header comment for buffer_insert() and buffer_delete().
author | Stephan Bosch <stephan.bosch@dovecot.fi> |
---|---|
date | Mon, 18 Mar 2019 00:52:37 +0100 |
parents | 1779df80df17 |
children |
rev | line source |
---|---|
19147
9add45266550
lib: Added a simple timing.h API for tracking min/max/avg for events.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
1 #ifndef TIMING_H |
9add45266550
lib: Added a simple timing.h API for tracking min/max/avg for events.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
2 #define TIMING_H |
9add45266550
lib: Added a simple timing.h API for tracking min/max/avg for events.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
3 |
9add45266550
lib: Added a simple timing.h API for tracking min/max/avg for events.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
4 struct timing *timing_init(void); |
9add45266550
lib: Added a simple timing.h API for tracking min/max/avg for events.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
5 void timing_deinit(struct timing **timing); |
9add45266550
lib: Added a simple timing.h API for tracking min/max/avg for events.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
6 |
20198
1779df80df17
lib: Added timing_reset()
Timo Sirainen <timo.sirainen@dovecot.fi>
parents:
19183
diff
changeset
|
7 /* Reset all events. */ |
1779df80df17
lib: Added timing_reset()
Timo Sirainen <timo.sirainen@dovecot.fi>
parents:
19183
diff
changeset
|
8 void timing_reset(struct timing *timing); |
1779df80df17
lib: Added timing_reset()
Timo Sirainen <timo.sirainen@dovecot.fi>
parents:
19183
diff
changeset
|
9 |
19147
9add45266550
lib: Added a simple timing.h API for tracking min/max/avg for events.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
10 /* Add a new event that took the specified number of usecs. */ |
9add45266550
lib: Added a simple timing.h API for tracking min/max/avg for events.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
11 void timing_add_usecs(struct timing *timing, uint64_t usecs); |
9add45266550
lib: Added a simple timing.h API for tracking min/max/avg for events.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
12 |
9add45266550
lib: Added a simple timing.h API for tracking min/max/avg for events.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
13 /* Returns number of events added. */ |
9add45266550
lib: Added a simple timing.h API for tracking min/max/avg for events.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
14 unsigned int timing_get_count(const struct timing *timing); |
19183 | 15 /* Returns the sum of all usecs added. */ |
16 uint64_t timing_get_sum(const struct timing *timing); | |
19147
9add45266550
lib: Added a simple timing.h API for tracking min/max/avg for events.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
17 |
9add45266550
lib: Added a simple timing.h API for tracking min/max/avg for events.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
18 /* Returns events' minimum. */ |
9add45266550
lib: Added a simple timing.h API for tracking min/max/avg for events.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
19 uint64_t timing_get_min(const struct timing *timing); |
9add45266550
lib: Added a simple timing.h API for tracking min/max/avg for events.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
20 /* Returns events' maximum. */ |
9add45266550
lib: Added a simple timing.h API for tracking min/max/avg for events.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
21 uint64_t timing_get_max(const struct timing *timing); |
9add45266550
lib: Added a simple timing.h API for tracking min/max/avg for events.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
22 /* Returns events' average. */ |
9add45266550
lib: Added a simple timing.h API for tracking min/max/avg for events.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
23 uint64_t timing_get_avg(const struct timing *timing); |
19173
2f492fac75b7
lib: timings - added quantiles
Phil Carmody <phil@dovecot.fi>
parents:
19147
diff
changeset
|
24 /* Returns events' approximate (through random subsampling) median. */ |
2f492fac75b7
lib: timings - added quantiles
Phil Carmody <phil@dovecot.fi>
parents:
19147
diff
changeset
|
25 uint64_t timing_get_median(const struct timing *timing); |
2f492fac75b7
lib: timings - added quantiles
Phil Carmody <phil@dovecot.fi>
parents:
19147
diff
changeset
|
26 /* Returns events' approximate (through random subsampling) 95th percentile. */ |
2f492fac75b7
lib: timings - added quantiles
Phil Carmody <phil@dovecot.fi>
parents:
19147
diff
changeset
|
27 uint64_t timing_get_95th(const struct timing *timing); |
19147
9add45266550
lib: Added a simple timing.h API for tracking min/max/avg for events.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
28 |
9add45266550
lib: Added a simple timing.h API for tracking min/max/avg for events.
Timo Sirainen <tss@iki.fi>
parents:
diff
changeset
|
29 #endif |