Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(222)

Unified Diff: base/metrics/sparse_histogram.h

Issue 11682003: Serialize/Deserialize support in HistogramBase (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: base/metrics/sparse_histogram.h
diff --git a/base/metrics/sparse_histogram.h b/base/metrics/sparse_histogram.h
index a7c569587a9a049c70019d23ec973de5435a434e..d556e61352c1cdf1d5028e60ba312c94c228b26d 100644
--- a/base/metrics/sparse_histogram.h
+++ b/base/metrics/sparse_histogram.h
@@ -13,6 +13,7 @@
#include "base/compiler_specific.h"
#include "base/memory/scoped_ptr.h"
#include "base/metrics/histogram_base.h"
+#include "base/metrics/sample_map.h"
#include "base/synchronization/lock.h"
namespace base {
@@ -33,14 +34,24 @@ class BASE_EXPORT_PRIVATE SparseHistogram : public HistogramBase {
Sample maximum,
size_t bucket_count) const OVERRIDE;
virtual void Add(Sample value) OVERRIDE;
+ virtual void AddSamples(const HistogramSamples& samples) OVERRIDE;
+ virtual bool AddSamplesFromPickle(PickleIterator* iter) OVERRIDE;
+ virtual scoped_ptr<HistogramSamples> SnapshotSamples() const OVERRIDE;
virtual void WriteHTMLGraph(std::string* output) const OVERRIDE;
virtual void WriteAscii(std::string* output) const OVERRIDE;
- virtual scoped_ptr<HistogramSamples> SnapshotSamples() const OVERRIDE;
+
+ protected:
+ // HistogramBase implementation:
+ virtual bool SerializeInfoImpl(Pickle* pickle) const OVERRIDE;
private:
// Clients should always use FactoryGet to create SparseHistogram.
SparseHistogram(const std::string& name);
+ friend HistogramBase* HistogramBase::DeserializeHistogramInfo(
+ PickleIterator* iter);
+ static HistogramBase* DeserializeHistogramInfo(PickleIterator* iter);
+
virtual void GetParameters(DictionaryValue* params) const OVERRIDE;
virtual void GetCountAndBucketData(Count* count,
ListValue* buckets) const OVERRIDE;
@@ -49,8 +60,7 @@ class BASE_EXPORT_PRIVATE SparseHistogram : public HistogramBase {
// Protects access to |sample_counts_| and |redundant_count_|.
Ilya Sherman 2012/12/29 00:17:30 nit: Please update this comment.
kaiwang 2013/01/08 00:51:40 Done.
mutable base::Lock lock_;
- std::map<HistogramBase::Sample, HistogramBase::Count> sample_counts_;
- HistogramBase::Count redundant_count_;
Ilya Sherman 2012/12/29 00:17:30 Could you remind me of how the redundant count was
kaiwang 2013/01/08 00:51:40 redundant_count_ is just a duplicated count to det
+ SampleMap samples_;
DISALLOW_COPY_AND_ASSIGN(SparseHistogram);
};

Powered by Google App Engine
This is Rietveld 408576698