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

Side by Side Diff: base/metrics/histogram.cc

Issue 8368009: Replace most LOG statements with DLOG statements in base. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « base/message_pump_x.cc ('k') | base/metrics/stats_table.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Histogram is an object that aggregates statistics, and can summarize them in 5 // Histogram is an object that aggregates statistics, and can summarize them in
6 // various forms, including ASCII graphical, HTML, and numerically (as a 6 // various forms, including ASCII graphical, HTML, and numerically (as a
7 // vector of numbers corresponding to each of the aggregating buckets). 7 // vector of numbers corresponding to each of the aggregating buckets).
8 // See header file for details and examples. 8 // See header file for details and examples.
9 9
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 261
262 void* iter = NULL; 262 void* iter = NULL;
263 if (!pickle.ReadString(&iter, &histogram_name) || 263 if (!pickle.ReadString(&iter, &histogram_name) ||
264 !pickle.ReadInt(&iter, &declared_min) || 264 !pickle.ReadInt(&iter, &declared_min) ||
265 !pickle.ReadInt(&iter, &declared_max) || 265 !pickle.ReadInt(&iter, &declared_max) ||
266 !pickle.ReadSize(&iter, &bucket_count) || 266 !pickle.ReadSize(&iter, &bucket_count) ||
267 !pickle.ReadUInt32(&iter, &range_checksum) || 267 !pickle.ReadUInt32(&iter, &range_checksum) ||
268 !pickle.ReadInt(&iter, &histogram_type) || 268 !pickle.ReadInt(&iter, &histogram_type) ||
269 !pickle.ReadInt(&iter, &pickle_flags) || 269 !pickle.ReadInt(&iter, &pickle_flags) ||
270 !sample.Histogram::SampleSet::Deserialize(&iter, pickle)) { 270 !sample.Histogram::SampleSet::Deserialize(&iter, pickle)) {
271 LOG(ERROR) << "Pickle error decoding Histogram: " << histogram_name; 271 DLOG(ERROR) << "Pickle error decoding Histogram: " << histogram_name;
272 return false; 272 return false;
273 } 273 }
274 DCHECK(pickle_flags & kIPCSerializationSourceFlag); 274 DCHECK(pickle_flags & kIPCSerializationSourceFlag);
275 // Since these fields may have come from an untrusted renderer, do additional 275 // Since these fields may have come from an untrusted renderer, do additional
276 // checks above and beyond those in Histogram::Initialize() 276 // checks above and beyond those in Histogram::Initialize()
277 if (declared_max <= 0 || declared_min <= 0 || declared_max < declared_min || 277 if (declared_max <= 0 || declared_min <= 0 || declared_max < declared_min ||
278 INT_MAX / sizeof(Count) <= bucket_count || bucket_count < 2) { 278 INT_MAX / sizeof(Count) <= bucket_count || bucket_count < 2) {
279 LOG(ERROR) << "Values error decoding Histogram: " << histogram_name; 279 DLOG(ERROR) << "Values error decoding Histogram: " << histogram_name;
280 return false; 280 return false;
281 } 281 }
282 282
283 Flags flags = static_cast<Flags>(pickle_flags & ~kIPCSerializationSourceFlag); 283 Flags flags = static_cast<Flags>(pickle_flags & ~kIPCSerializationSourceFlag);
284 284
285 DCHECK_NE(NOT_VALID_IN_RENDERER, histogram_type); 285 DCHECK_NE(NOT_VALID_IN_RENDERER, histogram_type);
286 286
287 Histogram* render_histogram(NULL); 287 Histogram* render_histogram(NULL);
288 288
289 if (histogram_type == HISTOGRAM) { 289 if (histogram_type == HISTOGRAM) {
290 render_histogram = Histogram::FactoryGet( 290 render_histogram = Histogram::FactoryGet(
291 histogram_name, declared_min, declared_max, bucket_count, flags); 291 histogram_name, declared_min, declared_max, bucket_count, flags);
292 } else if (histogram_type == LINEAR_HISTOGRAM) { 292 } else if (histogram_type == LINEAR_HISTOGRAM) {
293 render_histogram = LinearHistogram::FactoryGet( 293 render_histogram = LinearHistogram::FactoryGet(
294 histogram_name, declared_min, declared_max, bucket_count, flags); 294 histogram_name, declared_min, declared_max, bucket_count, flags);
295 } else if (histogram_type == BOOLEAN_HISTOGRAM) { 295 } else if (histogram_type == BOOLEAN_HISTOGRAM) {
296 render_histogram = BooleanHistogram::FactoryGet(histogram_name, flags); 296 render_histogram = BooleanHistogram::FactoryGet(histogram_name, flags);
297 } else { 297 } else {
298 LOG(ERROR) << "Error Deserializing Histogram Unknown histogram_type: " 298 DLOG(ERROR) << "Error Deserializing Histogram Unknown histogram_type: "
299 << histogram_type; 299 << histogram_type;
300 return false; 300 return false;
301 } 301 }
302 302
303 DCHECK_EQ(render_histogram->declared_min(), declared_min); 303 DCHECK_EQ(render_histogram->declared_min(), declared_min);
304 DCHECK_EQ(render_histogram->declared_max(), declared_max); 304 DCHECK_EQ(render_histogram->declared_max(), declared_max);
305 DCHECK_EQ(render_histogram->bucket_count(), bucket_count); 305 DCHECK_EQ(render_histogram->bucket_count(), bucket_count);
306 DCHECK_EQ(render_histogram->range_checksum(), range_checksum); 306 DCHECK_EQ(render_histogram->range_checksum(), range_checksum);
307 DCHECK_EQ(render_histogram->histogram_type(), histogram_type); 307 DCHECK_EQ(render_histogram->histogram_type(), histogram_type);
308 308
309 if (render_histogram->flags() & kIPCSerializationSourceFlag) { 309 if (render_histogram->flags() & kIPCSerializationSourceFlag) {
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
426 cached_ranges_(new CachedRanges(bucket_count + 1, 0)), 426 cached_ranges_(new CachedRanges(bucket_count + 1, 0)),
427 range_checksum_(0), 427 range_checksum_(0),
428 sample_() { 428 sample_() {
429 Initialize(); 429 Initialize();
430 } 430 }
431 431
432 Histogram::~Histogram() { 432 Histogram::~Histogram() {
433 if (StatisticsRecorder::dump_on_exit()) { 433 if (StatisticsRecorder::dump_on_exit()) {
434 std::string output; 434 std::string output;
435 WriteAscii(true, "\n", &output); 435 WriteAscii(true, "\n", &output);
436 LOG(INFO) << output; 436 DLOG(INFO) << output;
437 } 437 }
438 438
439 // Just to make sure most derived class did this properly... 439 // Just to make sure most derived class did this properly...
440 DCHECK(ValidateBucketRanges()); 440 DCHECK(ValidateBucketRanges());
441 } 441 }
442 442
443 // Calculate what range of values are held in each bucket. 443 // Calculate what range of values are held in each bucket.
444 // We have to be careful that we don't pick a ratio between starting points in 444 // We have to be careful that we don't pick a ratio between starting points in
445 // consecutive buckets that is sooo small, that the integer bounds are the same 445 // consecutive buckets that is sooo small, that the integer bounds are the same
446 // (effectively making one bucket get no values). We need to avoid: 446 // (effectively making one bucket get no values). We need to avoid:
(...skipping 571 matching lines...) Expand 10 before | Expand all | Expand 10 after
1018 histograms_ = new HistogramMap; 1018 histograms_ = new HistogramMap;
1019 ranges_ = new RangesMap; 1019 ranges_ = new RangesMap;
1020 } 1020 }
1021 1021
1022 StatisticsRecorder::~StatisticsRecorder() { 1022 StatisticsRecorder::~StatisticsRecorder() {
1023 DCHECK(histograms_ && lock_); 1023 DCHECK(histograms_ && lock_);
1024 1024
1025 if (dump_on_exit_) { 1025 if (dump_on_exit_) {
1026 std::string output; 1026 std::string output;
1027 WriteGraph("", &output); 1027 WriteGraph("", &output);
1028 LOG(INFO) << output; 1028 DLOG(INFO) << output;
1029 } 1029 }
1030 // Clean up. 1030 // Clean up.
1031 HistogramMap* histograms = NULL; 1031 HistogramMap* histograms = NULL;
1032 { 1032 {
1033 base::AutoLock auto_lock(*lock_); 1033 base::AutoLock auto_lock(*lock_);
1034 histograms = histograms_; 1034 histograms = histograms_;
1035 histograms_ = NULL; 1035 histograms_ = NULL;
1036 } 1036 }
1037 RangesMap* ranges = NULL; 1037 RangesMap* ranges = NULL;
1038 { 1038 {
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after
1282 1282
1283 // static 1283 // static
1284 StatisticsRecorder::HistogramMap* StatisticsRecorder::histograms_ = NULL; 1284 StatisticsRecorder::HistogramMap* StatisticsRecorder::histograms_ = NULL;
1285 // static 1285 // static
1286 StatisticsRecorder::RangesMap* StatisticsRecorder::ranges_ = NULL; 1286 StatisticsRecorder::RangesMap* StatisticsRecorder::ranges_ = NULL;
1287 // static 1287 // static
1288 base::Lock* StatisticsRecorder::lock_ = NULL; 1288 base::Lock* StatisticsRecorder::lock_ = NULL;
1289 // static 1289 // static
1290 bool StatisticsRecorder::dump_on_exit_ = false; 1290 bool StatisticsRecorder::dump_on_exit_ = false;
1291 } // namespace base 1291 } // namespace base
OLDNEW
« no previous file with comments | « base/message_pump_x.cc ('k') | base/metrics/stats_table.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698