Index: base/metrics/histogram_base.h |
diff --git a/base/metrics/histogram_base.h b/base/metrics/histogram_base.h |
index 729670cf98699e9af4a3215b6494cc62cdd515d0..12d126dcc9c1b61cd82cee1313e07145ef08e207 100644 |
--- a/base/metrics/histogram_base.h |
+++ b/base/metrics/histogram_base.h |
@@ -70,6 +70,17 @@ class BASE_EXPORT HistogramBase { |
kHexRangePrintingFlag = 0x8000, |
}; |
+ // Histogram data inconsistency types. |
+ enum Inconsistency { |
+ NO_INCONSISTENCIES = 0x0, |
+ RANGE_CHECKSUM_ERROR = 0x1, |
+ BUCKET_ORDER_ERROR = 0x2, |
+ COUNT_HIGH_ERROR = 0x4, |
+ COUNT_LOW_ERROR = 0x8, |
+ |
+ NEVER_EXCEEDED_VALUE = 0x10 |
+ }; |
+ |
explicit HistogramBase(const std::string& name); |
virtual ~HistogramBase(); |
@@ -103,6 +114,10 @@ class BASE_EXPORT HistogramBase { |
// does not serialize the samples. |
bool SerializeInfo(Pickle* pickle) const; |
+ // Try to find out data corruption from histogram and the samples. |
+ // The returned value is a combination of Inconsistency enum. |
+ virtual int FindCorruption(const HistogramSamples& samples) const; |
+ |
// Snapshot the current complete set of sample data. |
// Override with atomic/locked snapshot if needed. |
virtual scoped_ptr<HistogramSamples> SnapshotSamples() const = 0; |