| Index: base/metrics/histogram.h
|
| ===================================================================
|
| --- base/metrics/histogram.h (revision 64845)
|
| +++ base/metrics/histogram.h (working copy)
|
| @@ -36,7 +36,6 @@
|
| #include <string>
|
| #include <vector>
|
|
|
| -#include "base/gtest_prod_util.h"
|
| #include "base/ref_counted.h"
|
| #include "base/logging.h"
|
| #include "base/time.h"
|
| @@ -244,8 +243,8 @@
|
| typedef std::vector<Count> Counts;
|
| typedef std::vector<Sample> Ranges;
|
|
|
| - // These enums are used to facilitate deserialization of renderer histograms
|
| - // into the browser.
|
| + /* These enums are meant to facilitate deserialization of renderer histograms
|
| + into the browser. */
|
| enum ClassType {
|
| HISTOGRAM,
|
| LINEAR_HISTOGRAM,
|
| @@ -274,16 +273,6 @@
|
| kHexRangePrintingFlag = 0x8000, // Fancy bucket-naming supported.
|
| };
|
|
|
| - enum Inconsistencies {
|
| - NO_INCONSISTENCIES = 0x0,
|
| - RANGE_CHECKSUM_ERROR = 0x1,
|
| - BUCKET_ORDER_ERROR = 0x2,
|
| - COUNT_HIGH_ERROR = 0x4,
|
| - COUNT_LOW_ERROR = 0x8,
|
| -
|
| - NEVER_EXCEEDED_VALUE = 0x10
|
| - };
|
| -
|
| struct DescriptionPair {
|
| Sample sample;
|
| const char* description; // Null means end of a list of pairs.
|
| @@ -309,7 +298,6 @@
|
| Count TotalCount() const;
|
| int64 sum() const { return sum_; }
|
| int64 square_sum() const { return square_sum_; }
|
| - int64 redundant_count() const { return redundant_count_; }
|
|
|
| // Arithmetic manipulation of corresponding elements of the set.
|
| void Add(const SampleSet& other);
|
| @@ -327,21 +315,7 @@
|
| // without shared memory at some point.
|
| int64 sum_; // sum of samples.
|
| int64 square_sum_; // sum of squares of samples.
|
| -
|
| - private:
|
| - // Allow tests to corrupt our innards for testing purposes.
|
| - FRIEND_TEST(HistogramTest, CorruptSampleCounts);
|
| -
|
| - // To help identify memory corruption, we reduntantly save the number of
|
| - // samples we've accumulated into all of our buckets. We can compare this
|
| - // count to the sum of the counts in all buckets, and detect problems. Note
|
| - // that due to races in histogram accumulation (if a histogram is indeed
|
| - // updated on several threads simultaneously), the tallies might mismatch,
|
| - // and also the snapshotting code may asynchronously get a mismatch (though
|
| - // generally either race based mismatch cause is VERY rare).
|
| - int64 redundant_count_;
|
| };
|
| -
|
| //----------------------------------------------------------------------------
|
| // minimum should start from 1. 0 is invalid as a minimum. 0 is an implicit
|
| // default underflow bucket.
|
| @@ -393,13 +367,6 @@
|
| // browser process.
|
| static bool DeserializeHistogramInfo(const std::string& histogram_info);
|
|
|
| - // Check to see if bucket ranges, counts and tallies in the snapshot are
|
| - // consistent with the bucket ranges and checksums in our histogram. This can
|
| - // 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).
|
| - Inconsistencies FindCorruption(const SampleSet& snapshot) const;
|
| -
|
| //----------------------------------------------------------------------------
|
| // Accessors for factory constuction, serialization and testing.
|
| //----------------------------------------------------------------------------
|
| @@ -408,7 +375,6 @@
|
| Sample declared_min() const { return declared_min_; }
|
| Sample declared_max() const { return declared_max_; }
|
| virtual Sample ranges(size_t i) const { return ranges_[i];}
|
| - Sample range_checksum() const { return range_checksum_; }
|
| virtual size_t bucket_count() const { return bucket_count_; }
|
| // Snapshot the current complete set of sample data.
|
| // Override with atomic/locked snapshot if needed.
|
| @@ -443,9 +409,6 @@
|
| // Get normalized size, relative to the ranges_[i].
|
| virtual double GetBucketSize(Count current, size_t i) const;
|
|
|
| - // Recalculate range_checksum_.
|
| - void ResetRangeChecksum();
|
| -
|
| // Return a string description of what goes in a given bucket.
|
| // Most commonly this is the numeric value, but in derived classes it may
|
| // be a name (or string description) given to the bucket.
|
| @@ -467,18 +430,9 @@
|
| bool ValidateBucketRanges() const;
|
|
|
| private:
|
| - // Allow tests to corrupt our innards for testing purposes.
|
| - FRIEND_TEST(HistogramTest, CorruptBucketBounds);
|
| - FRIEND_TEST(HistogramTest, CorruptSampleCounts);
|
| -
|
| // Post constructor initialization.
|
| void Initialize();
|
|
|
| - // Return true iff the range_checksum_ matches current ranges_ vector.
|
| - bool HasValidRangeChecksum() const;
|
| -
|
| - Sample CalculateRangeChecksum() const;
|
| -
|
| //----------------------------------------------------------------------------
|
| // Helpers for emitting Ascii graphic. Each method appends data to output.
|
|
|
| @@ -523,11 +477,6 @@
|
| // The dimension of ranges_ is bucket_count + 1.
|
| Ranges ranges_;
|
|
|
| - // For redundancy, we store the sum of all the sample ranges when ranges are
|
| - // generated. If ever there is ever a difference, then the histogram must
|
| - // have been corrupted.
|
| - Sample range_checksum_;
|
| -
|
| // Finally, provide the state that changes with the addition of each new
|
| // sample.
|
| SampleSet sample_;
|
| @@ -612,11 +561,11 @@
|
| virtual ClassType histogram_type() const;
|
|
|
| static scoped_refptr<Histogram> FactoryGet(const std::string& name,
|
| - const std::vector<Sample>& custom_ranges, Flags flags);
|
| + const std::vector<int>& custom_ranges, Flags flags);
|
|
|
| protected:
|
| CustomHistogram(const std::string& name,
|
| - const std::vector<Sample>& custom_ranges);
|
| + const std::vector<int>& custom_ranges);
|
|
|
| // Initialize ranges_ mapping.
|
| virtual void InitializeBucketRange();
|
| @@ -624,7 +573,7 @@
|
|
|
| private:
|
| // Temporary pointer used during construction/initialization, and then NULLed.
|
| - const std::vector<Sample>* ranges_vector_;
|
| + const std::vector<int>* ranges_vector_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(CustomHistogram);
|
| };
|
|
|