| OLD | NEW |
| 1 // Copyright (c) 2006-2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2010 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 | 8 |
| 9 // It supports calls to accumulate either time intervals (which are processed | 9 // It supports calls to accumulate either time intervals (which are processed |
| 10 // as integral number of milliseconds), or arbitrary integral units. | 10 // as integral number of milliseconds), or arbitrary integral units. |
| (...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 265 Sample sample; | 265 Sample sample; |
| 266 const char* description; // Null means end of a list of pairs. | 266 const char* description; // Null means end of a list of pairs. |
| 267 }; | 267 }; |
| 268 | 268 |
| 269 //---------------------------------------------------------------------------- | 269 //---------------------------------------------------------------------------- |
| 270 // Statistic values, developed over the life of the histogram. | 270 // Statistic values, developed over the life of the histogram. |
| 271 | 271 |
| 272 class SampleSet { | 272 class SampleSet { |
| 273 public: | 273 public: |
| 274 explicit SampleSet(); | 274 explicit SampleSet(); |
| 275 ~SampleSet(); |
| 276 |
| 275 // Adjust size of counts_ for use with given histogram. | 277 // Adjust size of counts_ for use with given histogram. |
| 276 void Resize(const Histogram& histogram); | 278 void Resize(const Histogram& histogram); |
| 277 void CheckSize(const Histogram& histogram) const; | 279 void CheckSize(const Histogram& histogram) const; |
| 278 | 280 |
| 279 // Accessor for histogram to make routine additions. | 281 // Accessor for histogram to make routine additions. |
| 280 void Accumulate(Sample value, Count count, size_t index); | 282 void Accumulate(Sample value, Count count, size_t index); |
| 281 | 283 |
| 282 // Accessor methods. | 284 // Accessor methods. |
| 283 Count counts(size_t i) const { return counts_[i]; } | 285 Count counts(size_t i) const { return counts_[i]; } |
| 284 Count TotalCount() const; | 286 Count TotalCount() const; |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 483 virtual void SetRangeDescriptions(const DescriptionPair descriptions[]); | 485 virtual void SetRangeDescriptions(const DescriptionPair descriptions[]); |
| 484 | 486 |
| 485 /* minimum should start from 1. 0 is as minimum is invalid. 0 is an implicit | 487 /* minimum should start from 1. 0 is as minimum is invalid. 0 is an implicit |
| 486 default underflow bucket. */ | 488 default underflow bucket. */ |
| 487 static scoped_refptr<Histogram> FactoryGet(const std::string& name, | 489 static scoped_refptr<Histogram> FactoryGet(const std::string& name, |
| 488 Sample minimum, Sample maximum, size_t bucket_count, Flags flags); | 490 Sample minimum, Sample maximum, size_t bucket_count, Flags flags); |
| 489 static scoped_refptr<Histogram> FactoryTimeGet(const std::string& name, | 491 static scoped_refptr<Histogram> FactoryTimeGet(const std::string& name, |
| 490 base::TimeDelta minimum, base::TimeDelta maximum, size_t bucket_count, | 492 base::TimeDelta minimum, base::TimeDelta maximum, size_t bucket_count, |
| 491 Flags flags); | 493 Flags flags); |
| 492 | 494 |
| 495 virtual ~LinearHistogram(); |
| 496 |
| 493 protected: | 497 protected: |
| 494 LinearHistogram(const std::string& name, Sample minimum, | 498 LinearHistogram(const std::string& name, Sample minimum, |
| 495 Sample maximum, size_t bucket_count); | 499 Sample maximum, size_t bucket_count); |
| 496 | 500 |
| 497 LinearHistogram(const std::string& name, base::TimeDelta minimum, | 501 LinearHistogram(const std::string& name, base::TimeDelta minimum, |
| 498 base::TimeDelta maximum, size_t bucket_count); | 502 base::TimeDelta maximum, size_t bucket_count); |
| 499 | 503 |
| 500 // Initialize ranges_ mapping. | 504 // Initialize ranges_ mapping. |
| 501 virtual void InitializeBucketRange(); | 505 virtual void InitializeBucketRange(); |
| 502 virtual double GetBucketSize(Count current, size_t i) const; | 506 virtual double GetBucketSize(Count current, size_t i) const; |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 616 // lock protects access to the above map. | 620 // lock protects access to the above map. |
| 617 static Lock* lock_; | 621 static Lock* lock_; |
| 618 | 622 |
| 619 // Dump all known histograms to log. | 623 // Dump all known histograms to log. |
| 620 static bool dump_on_exit_; | 624 static bool dump_on_exit_; |
| 621 | 625 |
| 622 DISALLOW_COPY_AND_ASSIGN(StatisticsRecorder); | 626 DISALLOW_COPY_AND_ASSIGN(StatisticsRecorder); |
| 623 }; | 627 }; |
| 624 | 628 |
| 625 #endif // BASE_HISTOGRAM_H_ | 629 #endif // BASE_HISTOGRAM_H_ |
| OLD | NEW |