diff options
author | jeremy@chromium.org <jeremy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-10 09:32:58 +0000 |
---|---|---|
committer | jeremy@chromium.org <jeremy@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-10 09:32:58 +0000 |
commit | cdd98fcc63b315f39087b9898f35b97bc12e0b44 (patch) | |
tree | e116b0a6b3b18a3e86f1a1ef04065cc67c5dcf40 /base/metrics | |
parent | 847522f9fc1e134417e8bc87af9ab20cb3e7f123 (diff) | |
download | chromium_src-cdd98fcc63b315f39087b9898f35b97bc12e0b44.zip chromium_src-cdd98fcc63b315f39087b9898f35b97bc12e0b44.tar.gz chromium_src-cdd98fcc63b315f39087b9898f35b97bc12e0b44.tar.bz2 |
Telemetry startup tests: Add more histograms to startup tests
* Track a couple more histograms in telemetry-based startup test.
* Make histograms report average value in JSON, in the case of the histograms we're interested in, only a single value is recorded so the average is the exact value and we aren't limited in resolution by the bucket width.
* Remove unneeded _Exact histogram.
BUG=None
Review URL: https://chromiumcodereview.appspot.com/14632003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@199435 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/metrics')
-rw-r--r-- | base/metrics/histogram.cc | 5 | ||||
-rw-r--r-- | base/metrics/histogram.h | 1 | ||||
-rw-r--r-- | base/metrics/histogram_base.cc | 4 | ||||
-rw-r--r-- | base/metrics/histogram_base.h | 4 | ||||
-rw-r--r-- | base/metrics/sparse_histogram.cc | 1 | ||||
-rw-r--r-- | base/metrics/sparse_histogram.h | 1 |
6 files changed, 13 insertions, 3 deletions
diff --git a/base/metrics/histogram.cc b/base/metrics/histogram.cc index da12ccb..bb2ee9b 100644 --- a/base/metrics/histogram.cc +++ b/base/metrics/histogram.cc @@ -487,9 +487,12 @@ void Histogram::GetParameters(DictionaryValue* params) const { params->SetInteger("bucket_count", static_cast<int>(bucket_count())); } -void Histogram::GetCountAndBucketData(Count* count, ListValue* buckets) const { +void Histogram::GetCountAndBucketData(Count* count, + int64* sum, + ListValue* buckets) const { scoped_ptr<SampleVector> snapshot = SnapshotSampleVector(); *count = snapshot->TotalCount(); + *sum = snapshot->sum(); size_t index = 0; for (size_t i = 0; i < bucket_count(); ++i) { Sample count = snapshot->GetCountAtIndex(i); diff --git a/base/metrics/histogram.h b/base/metrics/histogram.h index 8d059f9..72da2e0 100644 --- a/base/metrics/histogram.h +++ b/base/metrics/histogram.h @@ -515,6 +515,7 @@ class BASE_EXPORT Histogram : public HistogramBase { virtual void GetParameters(DictionaryValue* params) const OVERRIDE; virtual void GetCountAndBucketData(Count* count, + int64* sum, ListValue* buckets) const OVERRIDE; // Does not own this object. Should get from StatisticsRecorder. diff --git a/base/metrics/histogram_base.cc b/base/metrics/histogram_base.cc index 51689a8..8599f59 100644 --- a/base/metrics/histogram_base.cc +++ b/base/metrics/histogram_base.cc @@ -109,8 +109,9 @@ int HistogramBase::FindCorruption(const HistogramSamples& samples) const { void HistogramBase::WriteJSON(std::string* output) const { Count count; + int64 sum; scoped_ptr<ListValue> buckets(new ListValue()); - GetCountAndBucketData(&count, buckets.get()); + GetCountAndBucketData(&count, &sum, buckets.get()); scoped_ptr<DictionaryValue> parameters(new DictionaryValue()); GetParameters(parameters.get()); @@ -118,6 +119,7 @@ void HistogramBase::WriteJSON(std::string* output) const { DictionaryValue root; root.SetString("name", histogram_name()); root.SetInteger("count", count); + root.SetDouble("sum", sum); root.SetInteger("flags", flags()); root.Set("params", parameters.release()); root.Set("buckets", buckets.release()); diff --git a/base/metrics/histogram_base.h b/base/metrics/histogram_base.h index 2fa846e..a133fa5 100644 --- a/base/metrics/histogram_base.h +++ b/base/metrics/histogram_base.h @@ -139,8 +139,10 @@ protected: virtual void GetParameters(DictionaryValue* params) const = 0; // Writes information about the current (non-empty) buckets and their sample - // counts to |buckets| and the total sample count to |count|. + // counts to |buckets|, the total sample count to |count| and the total sum + // to |sum|. virtual void GetCountAndBucketData(Count* count, + int64* sum, ListValue* buckets) const = 0; //// Produce actual graph (set of blank vs non blank char's) for a bucket. diff --git a/base/metrics/sparse_histogram.cc b/base/metrics/sparse_histogram.cc index df361f7..dd98e58 100644 --- a/base/metrics/sparse_histogram.cc +++ b/base/metrics/sparse_histogram.cc @@ -105,6 +105,7 @@ void SparseHistogram::GetParameters(DictionaryValue* params) const { } void SparseHistogram::GetCountAndBucketData(Count* count, + int64* sum, ListValue* buckets) const { // TODO(kaiwang): Implement. (See HistogramBase::WriteJSON.) } diff --git a/base/metrics/sparse_histogram.h b/base/metrics/sparse_histogram.h index 4de2002..870b06b 100644 --- a/base/metrics/sparse_histogram.h +++ b/base/metrics/sparse_histogram.h @@ -88,6 +88,7 @@ class BASE_EXPORT_PRIVATE SparseHistogram : public HistogramBase { virtual void GetParameters(DictionaryValue* params) const OVERRIDE; virtual void GetCountAndBucketData(Count* count, + int64* sum, ListValue* buckets) const OVERRIDE; // Helpers for emitting Ascii graphic. Each method appends data to output. |