Index: base/metrics/sparse_histogram.h |
diff --git a/base/metrics/sparse_histogram.h b/base/metrics/sparse_histogram.h |
index 9ef435ed9ec36b86d360a45a41d06659b4d5e894..83d5d42679df398f503cbe551588c6b5449e6dd8 100644 |
--- a/base/metrics/sparse_histogram.h |
+++ b/base/metrics/sparse_histogram.h |
@@ -11,7 +11,9 @@ |
#include "base/base_export.h" |
#include "base/basictypes.h" |
#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 { |
@@ -24,23 +26,23 @@ class BASE_EXPORT_PRIVATE SparseHistogram : public HistogramBase { |
virtual ~SparseHistogram(); |
+ // HistogramBase implementation: |
virtual void Add(Sample value) OVERRIDE; |
- |
- virtual void SnapshotSample(std::map<Sample, Count>* sample) const; |
virtual void WriteHTMLGraph(std::string* output) const OVERRIDE; |
virtual void WriteAscii(std::string* output) const OVERRIDE; |
- protected: |
+ virtual scoped_ptr<SampleMap> SnapshotSamples() const; |
+ |
+ private: |
// Clients should always use FactoryGet to create SparseHistogram. |
SparseHistogram(const std::string& name); |
- private: |
friend class SparseHistogramTest; // For constuctor calling. |
- std::map<Sample, Count> samples_; |
- |
- // Protects access to above map. |
+ // Protects access to |sample_counts_| and |redundant_count_|. |
mutable base::Lock lock_; |
+ std::map<HistogramBase::Sample, HistogramBase::Count> sample_counts_; |
+ HistogramBase::Count redundant_count_; |
DISALLOW_COPY_AND_ASSIGN(SparseHistogram); |
}; |