Documentation ¶
Index ¶
- func ParsePercentiles(percentiles string) ([]float64, error)
- type Bucket
- type Counter
- type Histogram
- func (h *Histogram) CalcPercentile(percentile float64) float64
- func (h *Histogram) Clone() *Histogram
- func (h *Histogram) CopyFrom(src *Histogram)
- func (h *Histogram) Export(percentiles []float64) *HistogramData
- func (h *Histogram) Log(msg string, percentiles []float64)
- func (h *Histogram) Print(out io.Writer, msg string, percentiles []float64)
- func (h *Histogram) Record(v float64)
- func (h *Histogram) Reset()
- func (h *Histogram) Transfer(src *Histogram)
- type HistogramData
- type Interval
- type Percentile
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ParsePercentiles ¶ added in v0.3.7
ParsePercentiles extracts the percentiles from string (flag).
Types ¶
type Bucket ¶ added in v0.3.7
type Bucket struct { Interval Percent float64 // Cumulative percentile Count int64 // How many in this bucket }
Bucket is the data for 1 bucket: an Interval and the occurrence Count for that interval.
type Counter ¶
type Counter struct { Count int64 Min float64 Max float64 Sum float64 // contains filtered or unexported fields }
Counter is a type whose instances record values and calculate stats (count,average,min,max,stddev).
type Histogram ¶
type Histogram struct { Counter Offset float64 // offset applied to data before fitting into buckets Divider float64 // divider applied to data before fitting into buckets // Don't access directly (outside of this package): Hdata []int32 // n+1 buckets (for last one) }
Histogram extends Counter and adds an histogram. Must be created using NewHistogram or anotherHistogram.Clone() and not directly.
func NewHistogram ¶
NewHistogram creates a new histogram (sets up the buckets).
func (*Histogram) CalcPercentile ¶
CalcPercentile returns the value for an input percentile e.g. for 90. as input returns an estimate of the original value threshold where 90.0% of the data is below said threshold.
func (*Histogram) Export ¶ added in v0.3.7
func (h *Histogram) Export(percentiles []float64) *HistogramData
Export translate the internal representation of the histogram data in an externally usable one. Calculates the request Percentiles.
func (*Histogram) Print ¶
Print dumps the histogram (and counter) to the provided writer. Also calculates the percentiles. Use Export() once and Print if you are going to need the Export results too.
type HistogramData ¶ added in v0.3.7
type HistogramData struct { Count int64 Min float64 Max float64 Sum float64 Avg float64 StdDev float64 Data []Bucket Percentiles []Percentile }
HistogramData is the exported Histogram data, a sorted list of intervals covering [Min, Max]. Pure data, so Counter for instance is flattened
type Interval ¶ added in v0.3.7
Interval is a range from start to end. Interval are left closed, open right expect the last one which includes Max. ie [Start, End[ with the next one being [PrevEnd, NextEnd[.
type Percentile ¶ added in v0.3.7
type Percentile struct { Percentile float64 // For this Percentile Value float64 // value at that Percentile }
Percentile value for the percentile