func (h *HistogramSnapshot) Percentile(p float64) float64 {
	return h.sample.Percentile(p)
}
Percentile returns an arbitrary percentile of values in the sample at the
time the snapshot was taken.
package metrics
type Histogram interface {
	Clear()
	Count() int64
	Max() int64
	Mean() float64
	Min() int64
	Percentile(float64) float64
	Percentiles([]float64) []float64
	Sample() Sample
	Snapshot() Histogram
	StdDev() float64
	Sum() int64
	Update(int64)
	Variance() float64
}
func GetOrRegisterHistogram(name string, r Registry, s Sample) Histogram {
	if nil == r {
		r = DefaultRegistry
	}
	return r.GetOrRegister(name, func() Histogram { return NewHistogram(s) }).(Histogram)
}
func NewHistogram(s Sample) Histogram {
	if UseNilMetrics {
		return NilHistogram{}
	}
	return &StandardHistogram{sample: s}
}
func NewRegisteredHistogram(name string, r Registry, s Sample) Histogram {
	c := NewHistogram(s)
	if nil == r {
		r = DefaultRegistry
	}
	r.Register(name, c)
	return c
}
type HistogramSnapshot struct {
	sample *SampleSnapshot
}
func (*HistogramSnapshot) Clear() {
	panic("Clear called on a HistogramSnapshot")
}
func (h *HistogramSnapshot) Count() int64 { return h.sample.Count() }
func (h *HistogramSnapshot) Max() int64 { return h.sample.Max() }
func (h *HistogramSnapshot) Mean() float64 { return h.sample.Mean() }
func (h *HistogramSnapshot) Min() int64 { return h.sample.Min() }