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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
a1c9e2cc574b lib: Added timing_get_sum()
Timo Sirainen <tss@iki.fi>
parents: 19173
diff changeset
15 /* Returns the sum of all usecs added. */
a1c9e2cc574b lib: Added timing_get_sum()
Timo Sirainen <tss@iki.fi>
parents: 19173
diff changeset
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