|
|
|
@ -23,10 +23,10 @@ class HistogramBucketMapper { |
|
|
|
|
HistogramBucketMapper(); |
|
|
|
|
|
|
|
|
|
// converts a value to the bucket index.
|
|
|
|
|
const size_t IndexForValue(const uint64_t value) const; |
|
|
|
|
size_t IndexForValue(const uint64_t value) const; |
|
|
|
|
// number of buckets required.
|
|
|
|
|
|
|
|
|
|
const size_t BucketCount() const { |
|
|
|
|
size_t BucketCount() const { |
|
|
|
|
return bucketValues_.size(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -65,6 +65,8 @@ class HistogramImpl { |
|
|
|
|
virtual double StandardDeviation() const; |
|
|
|
|
virtual void Data(HistogramData * const data) const; |
|
|
|
|
|
|
|
|
|
virtual ~HistogramImpl() {} |
|
|
|
|
|
|
|
|
|
private: |
|
|
|
|
// To be able to use HistogramImpl as thread local variable, its constructor
|
|
|
|
|
// has to be static. That's why we're using manually values from BucketMapper
|
|
|
|
|