Inheritance diagram for InspectingStatHist:
Collaboration diagram for InspectingStatHist:

Public Types

typedef uint64_t bins_type

Public Member Functions

bool operator== (const InspectingStatHist &)
bins_type counter (double v)
double deltaPctile (const StatHist &B, double pctile) const
double val (unsigned int bin) const
void count (double val)
void dump (StoreEntry *sentry, StatHistBinDumper *bd) const
void logInit (unsigned int capacity, double min, double max)
void enumInit (unsigned int last_enum)
StatHistoperator+= (const StatHist &B)

Protected Member Functions

void init (unsigned int capacity, hbase_f *val_in, hbase_f *val_out, double min, double max)
unsigned int findBin (double v)

Protected Attributes

bins_typebins = nullptr
 the histogram counters More...
unsigned int capacity_ = 0
double min_ = 0.0
 minimum value to be stored, corresponding to the first bin More...
double max_ = 0.0
 value of the maximum counter in the histogram More...
double scale_ = 1.0
 scaling factor when looking for a bin More...
hbase_fval_in = nullptr
hbase_fval_out = nullptr

Detailed Description

Definition at line 36 of file

Member Typedef Documentation

◆ bins_type

typedef uint64_t StatHist::bins_type

Definition at line 44 of file StatHist.h.

Member Function Documentation

◆ count()

◆ counter()

bins_type InspectingStatHist::counter ( double  v)

Definition at line 40 of file

References StatHist::bins, and StatHist::findBin().

Referenced by TestStatHist::testStatHistLog().

◆ deltaPctile()

double StatHist::deltaPctile ( const StatHist B,
double  pctile 
) const

Calculate the percentile for value pctile for the difference between this and the supplied histogram.

Definition at line 103 of file

References assert, B, StatHist::bins, StatHist::capacity_, D, int, s1, StatHist::val(), xcalloc(), and xfree.

◆ dump()

void StatHist::dump ( StoreEntry sentry,
StatHistBinDumper bd 
) const

iterate the supplied bd function over the histogram values

Definition at line 171 of file

References assert, StatHist::bins, StatHist::capacity_, StatHist::min_, statHistBinDumper, and StatHist::val().

Referenced by commIncomingStats(), SBufStatsAction::dump(), httpHeaderStatDump(), and statCountersHistograms().

◆ enumInit()

void StatHist::enumInit ( unsigned int  last_enum)

initialize the histogram to count occurrences in an enum-represented set

Definition at line 235 of file

References StatHist::init(), and Math::Null.

Referenced by HttpHeaderStat::HttpHeaderStat(), TestStatHist::testStatHistBaseAssignment(), and TestStatHist::testStatHistBaseEquality().

◆ findBin()

unsigned int StatHist::findBin ( double  v)

find what entry in the histogram corresponds to v, by applying the preset input transformation function

Definition at line 64 of file

References StatHist::capacity_, StatHist::min_, StatHist::scale_, and StatHist::val_in.

Referenced by StatHist::count(), and counter().

◆ init()

void StatHist::init ( unsigned int  capacity,
hbase_f val_in,
hbase_f val_out,
double  min,
double  max 

low-level initialize function. called by *Init high-level functions

Important restrictions on val_in and val_out functions:
  • val_in: ascending, defined on [0, oo), val_in(0) == 0;
  • val_out: x == val_out(val_in(x)) where val_in(x) is defined

In practice, the requirements are less strict, but then it gets hard to define them without math notation. val_in is applied after offsetting the value but before scaling See log and linear based histograms for examples

Definition at line 26 of file

References assert, StatHist::bins, StatHist::capacity_, StatHist::max_, StatHist::min_, StatHist::scale_, StatHist::val_in, StatHist::val_out, and xcalloc().

Referenced by StatHist::enumInit(), and StatHist::logInit().

◆ logInit()

void StatHist::logInit ( unsigned int  capacity,
double  min,
double  max 

Initialize the Histogram using a logarithmic values distribution

Definition at line 221 of file

References Math::Exp, StatHist::init(), Math::Log, max(), and min().

Referenced by TestStatHist::testStatHistLog(), and TestStatHist::testStatHistSum().

◆ operator+=()

StatHist & StatHist::operator+= ( const StatHist B)

Import values from another histogram

: the two histograms MUST have the same capicity, min and max or an exception will be raised

Definition at line 187 of file

References B, StatHist::bins, StatHist::capacity_, StatHist::max_, StatHist::min_, and Must.

◆ operator==()

bool InspectingStatHist::operator== ( const InspectingStatHist src)

◆ val()

double StatHist::val ( unsigned int  bin) const

obtain the output-transformed value from the specified bin

Definition at line 85 of file

References StatHist::min_, StatHist::scale_, and StatHist::val_out.

Referenced by StatHist::deltaPctile(), and StatHist::dump().

Member Data Documentation

◆ bins

◆ capacity_

◆ max_

double StatHist::max_ = 0.0

Definition at line 108 of file StatHist.h.

Referenced by StatHist::init(), StatHist::operator+=(), StatHist::operator=(), and operator==().

◆ min_

double StatHist::min_ = 0.0

◆ scale_

double StatHist::scale_ = 1.0

◆ val_in

hbase_f* StatHist::val_in = nullptr

Definition at line 112 of file StatHist.h.

Referenced by StatHist::findBin(), StatHist::init(), StatHist::operator=(), and operator==().

◆ val_out

hbase_f* StatHist::val_out = nullptr

Definition at line 113 of file StatHist.h.

Referenced by StatHist::init(), StatHist::operator=(), operator==(), and StatHist::val().

The documentation for this class was generated from the following file:






Web Site Translations