Index: base/metrics/histogram_base.h |
diff --git a/base/metrics/histogram_base.h b/base/metrics/histogram_base.h |
index 729670cf98699e9af4a3215b6494cc62cdd515d0..e4cff7e7947ad3e404045452516c8f527bd259dd 100644 |
--- a/base/metrics/histogram_base.h |
+++ b/base/metrics/histogram_base.h |
@@ -48,6 +48,17 @@ BASE_EXPORT void DeserializeHistogramAndAddSamples(PickleIterator* iter); |
//////////////////////////////////////////////////////////////////////////////// |
+// Histogram data inconsistency types. |
+enum BASE_EXPORT HistogramInconsistency { |
+ NO_INCONSISTENCIES = 0x0, |
+ RANGE_CHECKSUM_ERROR = 0x1, |
+ BUCKET_ORDER_ERROR = 0x2, |
+ COUNT_HIGH_ERROR = 0x4, |
+ COUNT_LOW_ERROR = 0x8, |
+ |
+ NEVER_EXCEEDED_VALUE = 0x10 |
+}; |
+ |
class BASE_EXPORT HistogramBase { |
public: |
typedef int Sample; // Used for samples. |
@@ -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 HistogramInconsistency enum. |
+ virtual int32 FindCorruption(const HistogramSamples& samples) const; |
jar (doing other things)
2013/02/27 23:51:38
nit: I see why you made it an integral return type
kaiwang
2013/02/28 04:58:05
Done.
|
+ |
// Snapshot the current complete set of sample data. |
// Override with atomic/locked snapshot if needed. |
virtual scoped_ptr<HistogramSamples> SnapshotSamples() const = 0; |