Electroneum
timehist.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  th_buck
 
struct  timehist
 

Macros

#define NUM_BUCKETS_HIST   40
 

Functions

struct timehisttimehist_setup (void)
 
void timehist_delete (struct timehist *hist)
 
void timehist_clear (struct timehist *hist)
 
void timehist_insert (struct timehist *hist, struct timeval *tv)
 
double timehist_quartile (struct timehist *hist, double q)
 
void timehist_print (struct timehist *hist)
 
void timehist_log (struct timehist *hist, const char *name)
 
void timehist_export (struct timehist *hist, long long *array, size_t sz)
 
void timehist_import (struct timehist *hist, long long *array, size_t sz)
 

Detailed Description

This file contains functions to make a histogram of time values.

Definition in file timehist.h.

Macro Definition Documentation

◆ NUM_BUCKETS_HIST

#define NUM_BUCKETS_HIST   40

Number of buckets in a histogram

Definition at line 46 of file timehist.h.

Function Documentation

◆ timehist_clear()

void timehist_clear ( struct timehist hist)

Clear histogram

Parameters
histto clear all data from

◆ timehist_delete()

void timehist_delete ( struct timehist hist)

Delete histogram

Parameters
histto delete

◆ timehist_export()

void timehist_export ( struct timehist hist,
long long *  array,
size_t  sz 
)

Export histogram to an array.

Parameters
histhistogram
arraythe array to export to.
sznumber of items in array.

◆ timehist_import()

void timehist_import ( struct timehist hist,
long long *  array,
size_t  sz 
)

Import histogram from an array.

Parameters
histhistogram
arraythe array to import from.
sznumber of items in array.

◆ timehist_insert()

void timehist_insert ( struct timehist hist,
struct timeval *  tv 
)

Add time value to histogram.

Parameters
histhistogram
tvtime value

◆ timehist_log()

void timehist_log ( struct timehist hist,
const char *  name 
)

Log histogram, print it to the logfile.

Parameters
histhistogram
namethe name of the value column

◆ timehist_print()

void timehist_print ( struct timehist hist)

Printout histogram

Parameters
histhistogram

◆ timehist_quartile()

double timehist_quartile ( struct timehist hist,
double  q 
)

Find time value for given quartile, such as 0.25, 0.50, 0.75. The looks up the value for the i-th element in the sorted list of time values, as approximated using the histogram.

Parameters
histhistogram. Interpolated information is used from it.
qquartile, 0.50 results in the median. Must be >0 and <1.
Returns
: the time in seconds for that percentage.

◆ timehist_setup()

struct timehist* timehist_setup ( void  )

Setup a histogram, default

Returns
histogram or NULL on malloc failure.