Chromium Code Reviews| 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; |