Electroneum
Toggle main menu visibility
Loading...
Searching...
No Matches
timehist.h
Go to the documentation of this file.
1
/*
2
* util/timehist.h - make histogram of time values.
3
*
4
* Copyright (c) 2007, NLnet Labs. All rights reserved.
5
*
6
* This software is open source.
7
*
8
* Redistribution and use in source and binary forms, with or without
9
* modification, are permitted provided that the following conditions
10
* are met:
11
*
12
* Redistributions of source code must retain the above copyright notice,
13
* this list of conditions and the following disclaimer.
14
*
15
* Redistributions in binary form must reproduce the above copyright notice,
16
* this list of conditions and the following disclaimer in the documentation
17
* and/or other materials provided with the distribution.
18
*
19
* Neither the name of the NLNET LABS nor the names of its contributors may
20
* be used to endorse or promote products derived from this software without
21
* specific prior written permission.
22
*
23
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
26
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
27
* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
28
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
29
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
30
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
31
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
32
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
*/
35
41
42
#ifndef UTIL_TIMEHIST_H
43
#define UTIL_TIMEHIST_H
44
46
#define NUM_BUCKETS_HIST 40
47
51
struct
th_buck
{
53
struct
timeval
lower
;
55
struct
timeval
upper
;
57
size_t
count
;
58
};
59
63
struct
timehist
{
65
size_t
num
;
67
struct
th_buck
*
buckets
;
68
};
69
74
struct
timehist
*
timehist_setup
(
void
);
75
80
void
timehist_delete
(
struct
timehist
* hist);
81
86
void
timehist_clear
(
struct
timehist
* hist);
87
93
void
timehist_insert
(
struct
timehist
* hist,
struct
timeval* tv);
94
103
double
timehist_quartile
(
struct
timehist
* hist,
double
q);
104
109
void
timehist_print
(
struct
timehist
* hist);
110
116
void
timehist_log
(
struct
timehist
* hist,
const
char
* name);
117
124
void
timehist_export
(
struct
timehist
* hist,
long
long
* array,
size_t
sz);
125
132
void
timehist_import
(
struct
timehist
* hist,
long
long
* array,
size_t
sz);
133
134
#endif
/* UTIL_TIMEHIST_H */
th_buck
Definition
timehist.h:51
th_buck::upper
struct timeval upper
Definition
timehist.h:55
th_buck::count
size_t count
Definition
timehist.h:57
th_buck::lower
struct timeval lower
Definition
timehist.h:53
timehist
Definition
timehist.h:63
timehist::buckets
struct th_buck * buckets
Definition
timehist.h:67
timehist::num
size_t num
Definition
timehist.h:65
timehist_quartile
double timehist_quartile(struct timehist *hist, double q)
timehist_export
void timehist_export(struct timehist *hist, long long *array, size_t sz)
timehist_insert
void timehist_insert(struct timehist *hist, struct timeval *tv)
timehist_print
void timehist_print(struct timehist *hist)
timehist_import
void timehist_import(struct timehist *hist, long long *array, size_t sz)
timehist_log
void timehist_log(struct timehist *hist, const char *name)
timehist_clear
void timehist_clear(struct timehist *hist)
timehist_setup
struct timehist * timehist_setup(void)
timehist_delete
void timehist_delete(struct timehist *hist)
external
unbound
util
timehist.h
Generated on
for Electroneum by
1.17.0