| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 275 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 286   if (count <= 0) { | 286   if (count <= 0) { | 
| 287     NOTREACHED(); | 287     NOTREACHED(); | 
| 288     return; | 288     return; | 
| 289   } | 289   } | 
| 290   samples_->Accumulate(value, count); | 290   samples_->Accumulate(value, count); | 
| 291 | 291 | 
| 292   FindAndRunCallback(value); | 292   FindAndRunCallback(value); | 
| 293 } | 293 } | 
| 294 | 294 | 
| 295 scoped_ptr<HistogramSamples> Histogram::SnapshotSamples() const { | 295 scoped_ptr<HistogramSamples> Histogram::SnapshotSamples() const { | 
| 296   return SnapshotSampleVector().Pass(); | 296   return SnapshotSampleVector(); | 
| 297 } | 297 } | 
| 298 | 298 | 
| 299 void Histogram::AddSamples(const HistogramSamples& samples) { | 299 void Histogram::AddSamples(const HistogramSamples& samples) { | 
| 300   samples_->Add(samples); | 300   samples_->Add(samples); | 
| 301 } | 301 } | 
| 302 | 302 | 
| 303 bool Histogram::AddSamplesFromPickle(PickleIterator* iter) { | 303 bool Histogram::AddSamplesFromPickle(PickleIterator* iter) { | 
| 304   return samples_->AddFromPickle(iter); | 304   return samples_->AddFromPickle(iter); | 
| 305 } | 305 } | 
| 306 | 306 | 
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 387   if (!ValidateRangeChecksum(*histogram, range_checksum)) { | 387   if (!ValidateRangeChecksum(*histogram, range_checksum)) { | 
| 388     // The serialized histogram might be corrupted. | 388     // The serialized histogram might be corrupted. | 
| 389     return NULL; | 389     return NULL; | 
| 390   } | 390   } | 
| 391   return histogram; | 391   return histogram; | 
| 392 } | 392 } | 
| 393 | 393 | 
| 394 scoped_ptr<SampleVector> Histogram::SnapshotSampleVector() const { | 394 scoped_ptr<SampleVector> Histogram::SnapshotSampleVector() const { | 
| 395   scoped_ptr<SampleVector> samples(new SampleVector(bucket_ranges())); | 395   scoped_ptr<SampleVector> samples(new SampleVector(bucket_ranges())); | 
| 396   samples->Add(*samples_); | 396   samples->Add(*samples_); | 
| 397   return samples.Pass(); | 397   return samples; | 
| 398 } | 398 } | 
| 399 | 399 | 
| 400 void Histogram::WriteAsciiImpl(bool graph_it, | 400 void Histogram::WriteAsciiImpl(bool graph_it, | 
| 401                                const std::string& newline, | 401                                const std::string& newline, | 
| 402                                std::string* output) const { | 402                                std::string* output) const { | 
| 403   // Get local (stack) copies of all effectively volatile class data so that we | 403   // Get local (stack) copies of all effectively volatile class data so that we | 
| 404   // are consistent across our output activities. | 404   // are consistent across our output activities. | 
| 405   scoped_ptr<SampleVector> snapshot = SnapshotSampleVector(); | 405   scoped_ptr<SampleVector> snapshot = SnapshotSampleVector(); | 
| 406   Count sample_count = snapshot->TotalCount(); | 406   Count sample_count = snapshot->TotalCount(); | 
| 407 | 407 | 
| (...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 892 | 892 | 
| 893   BucketRanges* bucket_ranges = new BucketRanges(ranges.size()); | 893   BucketRanges* bucket_ranges = new BucketRanges(ranges.size()); | 
| 894   for (size_t i = 0; i < ranges.size(); i++) { | 894   for (size_t i = 0; i < ranges.size(); i++) { | 
| 895     bucket_ranges->set_range(i, ranges[i]); | 895     bucket_ranges->set_range(i, ranges[i]); | 
| 896   } | 896   } | 
| 897   bucket_ranges->ResetChecksum(); | 897   bucket_ranges->ResetChecksum(); | 
| 898   return bucket_ranges; | 898   return bucket_ranges; | 
| 899 } | 899 } | 
| 900 | 900 | 
| 901 }  // namespace base | 901 }  // namespace base | 
| OLD | NEW | 
|---|