sipxportlib  Version 3.3
Public Member Functions | List of all members
UtlHistogram Class Reference

#include <UtlHistogram.h>

Public Member Functions

 UtlHistogram (unsigned int bins, int base, unsigned int size, const char *outputFormat="", unsigned int outputWidth=0)
 ~UtlHistogram ()
unsigned int tally (int)
void clear ()
unsigned int getNoOfBins ()
unsigned int getBase ()
unsigned int getBinSize ()
unsigned int getCount ()
unsigned int operator[] (unsigned int i)
UtlStringshow ()

Detailed Description

Record and dump counts in a series of bins.

Recorded values are integers. The histogram has a specified number of bins, each counting the number of values over a range, each of which has the same specified width.

The number of bins implemented is 2 more than the specified number, to allow one bin for values lower than the range and one for values higher than the range.

The minimum of the range of bin 0 is Base, and each normal bin has a range of Size values.

The first normal bin is numbered 0, so the bin for too-low values is numbered -1. Thus, the bins record:

Bin -1 counts values less than "Base". Bin 0 counts values from "Base" to "Base + Size - 1". Bin 1 counts values from "Base + Size" to "Base + 2*Size - 1". Bin n counts values from "Base + n*Size" to "Base + (n+1)*Size - 1". Bin NoOfBins-1 counts values from "Base + (NoOfBins-1)*Size" to "Base + NoOfBins*Size -1". Bin NoOfBins counts values greater than or equal to "Base + NoOfBins*Size".

The values of all the bins can be extracted in a string by setting outputFormat and outputWidth when the histogram is created. Calling show() formats each bin's value via sprintf(buffer, outputFomat, bin-value), concatenates them together, and returns the result as a UtlString. outputFormat must be a format string for formatting a single int, and it must always generate at most outputWidth characters.

The outputFormat string must remain valid as long as the histogram object exists; the returned UtlString must be freed by the caller.

Constructor & Destructor Documentation

UtlHistogram ( unsigned int  bins,
int  base,
unsigned int  size,
const char *  outputFormat = "",
unsigned int  outputWidth = 0 



Member Function Documentation

unsigned int tally ( int  value)

Record a value. Returns the number of counts in the histogram.

void clear ( )

Clear the histogram.

unsigned int getNoOfBins ( )

Get the specified number of bins (which is 2 less than the total number of bins).

Get the number of bins.

unsigned int getBase ( )

Get the lowest value for bin 0.

unsigned int getBinSize ( )

Get the size of each bin.

unsigned int getCount ( )

Get the total count.

unsigned int operator[] ( unsigned int  i)

Get the count in bin i. i ranges from -1 to NoOfBins+1.

Get the count in bin i.

UtlString * show ( )

Get a string containing the formatted values from the bins. The caller must free the returned UtlString.

Get a string containing the formatted values from the bins.