Index: base/metrics/histogram.h |
diff --git a/base/metrics/histogram.h b/base/metrics/histogram.h |
index 4e722aa20d91da7a1a0cd318150ee1a40c266830..aee9af4d391905e51cd69ab3230a538cb9b44ea9 100644 |
--- a/base/metrics/histogram.h |
+++ b/base/metrics/histogram.h |
@@ -145,8 +145,10 @@ class BASE_EXPORT Histogram : public HistogramBase { |
Sample maximum, |
const BucketRanges* ranges, |
HistogramBase::AtomicCount* counts, |
+ HistogramBase::AtomicCount* logged_counts, |
uint32_t counts_size, |
- HistogramSamples::Metadata* meta); |
+ HistogramSamples::Metadata* meta, |
+ HistogramSamples::Metadata* logged_meta); |
static void InitializeBucketRanges(Sample minimum, |
Sample maximum, |
@@ -166,7 +168,7 @@ class BASE_EXPORT Histogram : public HistogramBase { |
// produce a false-alarm if a race occurred in the reading of the data during |
// a SnapShot process, but should otherwise be false at all times (unless we |
// have memory over-writes, or DRAM failures). |
Alexei Svitkine (slow)
2016/02/17 16:21:12
Nit: While here, can you point to the enum of flag
bcwhite
2016/02/17 17:58:20
Done.
|
- int FindCorruption(const HistogramSamples& samples) const override; |
+ unsigned FindCorruption(const HistogramSamples& samples) const override; |
//---------------------------------------------------------------------------- |
// Accessors for factory construction, serialization and testing. |
@@ -197,6 +199,7 @@ class BASE_EXPORT Histogram : public HistogramBase { |
void Add(Sample value) override; |
void AddCount(Sample value, int count) override; |
scoped_ptr<HistogramSamples> SnapshotSamples() const override; |
+ scoped_ptr<HistogramSamples> SnapshotDelta() override; |
void AddSamples(const HistogramSamples& samples) override; |
bool AddSamplesFromPickle(base::PickleIterator* iter) override; |
void WriteHTMLGraph(std::string* output) const override; |
@@ -228,8 +231,10 @@ class BASE_EXPORT Histogram : public HistogramBase { |
Sample maximum, |
const BucketRanges* ranges, |
HistogramBase::AtomicCount* counts, |
+ HistogramBase::AtomicCount* logged_counts, |
uint32_t counts_size, |
- HistogramSamples::Metadata* meta); |
+ HistogramSamples::Metadata* meta, |
+ HistogramSamples::Metadata* logged_meta); |
~Histogram() override; |
@@ -303,6 +308,9 @@ class BASE_EXPORT Histogram : public HistogramBase { |
// sample. |
scoped_ptr<SampleVector> samples_; |
+ // Also keep a previous uploaded state for calculating deltas. |
+ scoped_ptr<HistogramSamples> logged_samples_; |
+ |
DISALLOW_COPY_AND_ASSIGN(Histogram); |
}; |
@@ -347,8 +355,10 @@ class BASE_EXPORT LinearHistogram : public Histogram { |
Sample maximum, |
const BucketRanges* ranges, |
HistogramBase::AtomicCount* counts, |
+ HistogramBase::AtomicCount* logged_counts, |
uint32_t counts_size, |
- HistogramSamples::Metadata* meta); |
+ HistogramSamples::Metadata* meta, |
+ HistogramSamples::Metadata* logged_meta); |
struct DescriptionPair { |
Sample sample; |
@@ -388,8 +398,10 @@ class BASE_EXPORT LinearHistogram : public Histogram { |
Sample maximum, |
const BucketRanges* ranges, |
HistogramBase::AtomicCount* counts, |
+ HistogramBase::AtomicCount* logged_counts, |
uint32_t counts_size, |
- HistogramSamples::Metadata* meta); |
+ HistogramSamples::Metadata* meta, |
+ HistogramSamples::Metadata* logged_meta); |
double GetBucketSize(Count current, uint32_t i) const override; |
@@ -431,7 +443,9 @@ class BASE_EXPORT BooleanHistogram : public LinearHistogram { |
static HistogramBase* PersistentGet(const std::string& name, |
const BucketRanges* ranges, |
HistogramBase::AtomicCount* counts, |
- HistogramSamples::Metadata* meta); |
+ HistogramBase::AtomicCount* logged_counts, |
+ HistogramSamples::Metadata* meta, |
+ HistogramSamples::Metadata* logged_meta); |
HistogramType GetHistogramType() const override; |
@@ -443,7 +457,9 @@ class BASE_EXPORT BooleanHistogram : public LinearHistogram { |
BooleanHistogram(const std::string& name, |
const BucketRanges* ranges, |
HistogramBase::AtomicCount* counts, |
- HistogramSamples::Metadata* meta); |
+ HistogramBase::AtomicCount* logged_counts, |
+ HistogramSamples::Metadata* meta, |
+ HistogramSamples::Metadata* logged_meta); |
friend BASE_EXPORT HistogramBase* DeserializeHistogramInfo( |
base::PickleIterator* iter); |
@@ -476,8 +492,10 @@ class BASE_EXPORT CustomHistogram : public Histogram { |
static HistogramBase* PersistentGet(const std::string& name, |
const BucketRanges* ranges, |
HistogramBase::AtomicCount* counts, |
+ HistogramBase::AtomicCount* logged_counts, |
uint32_t counts_size, |
- HistogramSamples::Metadata* meta); |
+ HistogramSamples::Metadata* meta, |
+ HistogramSamples::Metadata* logged_meta); |
// Overridden from Histogram: |
HistogramType GetHistogramType() const override; |
@@ -499,8 +517,10 @@ class BASE_EXPORT CustomHistogram : public Histogram { |
CustomHistogram(const std::string& name, |
const BucketRanges* ranges, |
HistogramBase::AtomicCount* counts, |
+ HistogramBase::AtomicCount* logged_counts, |
uint32_t counts_size, |
- HistogramSamples::Metadata* meta); |
+ HistogramSamples::Metadata* meta, |
+ HistogramSamples::Metadata* logged_meta); |
// HistogramBase implementation: |
bool SerializeInfoImpl(base::Pickle* pickle) const override; |