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

Unified Diff: base/metrics/histogram.cc

Issue 11231025: Histogram argument related change (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 2 months 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/histogram.cc
diff --git a/base/metrics/histogram.cc b/base/metrics/histogram.cc
index ec1afddcca70668390cacd12bf23e2c40f2e84fe..2ccedc1b4d47cd23354061b53fa24b0cee27bb3f 100644
--- a/base/metrics/histogram.cc
+++ b/base/metrics/histogram.cc
@@ -174,17 +174,6 @@ void Histogram::InitializeBucketRanges(Sample minimum,
ranges->ResetChecksum();
}
-void Histogram::Add(int value) {
- DCHECK_EQ(0, ranges(0));
- DCHECK_EQ(kSampleType_MAX, ranges(bucket_count_));
-
- if (value > kSampleType_MAX - 1)
- value = kSampleType_MAX - 1;
- if (value < 0)
- value = 0;
- samples_->Accumulate(value, 1);
-}
-
void Histogram::AddBoolean(bool value) {
DCHECK(false);
}
@@ -201,18 +190,6 @@ void Histogram::SetRangeDescriptions(const DescriptionPair descriptions[]) {
DCHECK(false);
}
-// The following methods provide a graphical histogram display.
-void Histogram::WriteHTMLGraph(string* output) const {
- // TBD(jar) Write a nice HTML bar chart, with divs an mouse-overs etc.
- output->append("<PRE>");
- WriteAsciiImpl(true, "<br>", output);
- output->append("</PRE>");
-}
-
-void Histogram::WriteAscii(string* output) const {
- WriteAsciiImpl(true, "\n", output);
-}
-
// static
string Histogram::SerializeHistogramInfo(const Histogram& histogram,
const HistogramSamples& snapshot) {
@@ -367,17 +344,69 @@ size_t Histogram::bucket_count() const {
return bucket_count_;
}
-scoped_ptr<HistogramSamples> Histogram::SnapshotSamples() const {
- return SnapshotSampleVector().PassAs<HistogramSamples>();
+// static
+bool Histogram::InspectConstructionArguments(const string& name,
+ Sample* minimum,
+ Sample* maximum,
+ size_t* bucket_count) {
+ // Defensive code for backward compatibility.
+ if (*minimum < 1) {
+ DVLOG(1) << "Histogram: " << name << " has bad minimum: " << *minimum;
+ *minimum = 1;
+ }
+ if (*maximum >= kSampleType_MAX) {
+ DVLOG(1) << "Histogram: " << name << " has bad maximum: " << *maximum;
+ *maximum = kSampleType_MAX - 1;
+ }
+ if (*bucket_count >= kBucketCount_MAX) {
+ DVLOG(1) << "Histogram: " << name << " has bad bucket_count: "
+ << *bucket_count;
+ *bucket_count = kBucketCount_MAX - 1;
+ }
+
+ if (*minimum >= *maximum)
+ return false;
+ if (*bucket_count < 3)
+ return false;
+ if (*bucket_count > static_cast<size_t>(*maximum - *minimum + 2))
+ return false;
+ return true;
}
bool Histogram::HasConstructionArguments(Sample minimum,
Sample maximum,
- size_t bucket_count) {
+ size_t bucket_count) const {
return ((minimum == declared_min_) && (maximum == declared_max_) &&
(bucket_count == bucket_count_));
}
+void Histogram::Add(int value) {
+ DCHECK_EQ(0, ranges(0));
+ DCHECK_EQ(kSampleType_MAX, ranges(bucket_count_));
+
+ if (value > kSampleType_MAX - 1)
+ value = kSampleType_MAX - 1;
+ if (value < 0)
+ value = 0;
+ samples_->Accumulate(value, 1);
+}
+
+scoped_ptr<HistogramSamples> Histogram::SnapshotSamples() const {
+ return SnapshotSampleVector().PassAs<HistogramSamples>();
+}
+
+// The following methods provide a graphical histogram display.
+void Histogram::WriteHTMLGraph(string* output) const {
+ // TBD(jar) Write a nice HTML bar chart, with divs an mouse-overs etc.
+ output->append("<PRE>");
+ WriteAsciiImpl(true, "<br>", output);
+ output->append("</PRE>");
+}
+
+void Histogram::WriteAscii(string* output) const {
+ WriteAsciiImpl(true, "\n", output);
+}
+
Histogram::Histogram(const string& name,
Sample minimum,
Sample maximum,
@@ -400,35 +429,6 @@ Histogram::~Histogram() {
}
}
-// static
-bool Histogram::InspectConstructionArguments(const string& name,
- Sample* minimum,
- Sample* maximum,
- size_t* bucket_count) {
- // Defensive code for backward compatibility.
- if (*minimum < 1) {
- DVLOG(1) << "Histogram: " << name << " has bad minimum: " << *minimum;
- *minimum = 1;
- }
- if (*maximum >= kSampleType_MAX) {
- DVLOG(1) << "Histogram: " << name << " has bad maximum: " << *maximum;
- *maximum = kSampleType_MAX - 1;
- }
- if (*bucket_count >= kBucketCount_MAX) {
- DVLOG(1) << "Histogram: " << name << " has bad bucket_count: "
- << *bucket_count;
- *bucket_count = kBucketCount_MAX - 1;
- }
-
- if (*minimum >= *maximum)
- return false;
- if (*bucket_count < 3)
- return false;
- if (*bucket_count > static_cast<size_t>(*maximum - *minimum + 2))
- return false;
- return true;
-}
-
bool Histogram::SerializeRanges(Pickle* pickle) const {
return true;
}

Powered by Google App Engine
This is Rietveld 408576698