Chromium Code Reviews| Index: components/metrics/metrics_log.cc |
| diff --git a/components/metrics/metrics_log.cc b/components/metrics/metrics_log.cc |
| index 2ea6f89eab4bdf7bd419d566910725a4fafbf958..6301daee9217dcfdcfa91ca001eb787cb507f15b 100644 |
| --- a/components/metrics/metrics_log.cc |
| +++ b/components/metrics/metrics_log.cc |
| @@ -23,6 +23,7 @@ |
| #include "base/strings/utf_string_conversions.h" |
| #include "base/sys_info.h" |
| #include "base/time/time.h" |
| +#include "components/metrics/histogram_encoder.h" |
| #include "components/metrics/metrics_hashes.h" |
| #include "components/metrics/metrics_pref_names.h" |
| #include "components/metrics/metrics_provider.h" |
| @@ -178,36 +179,7 @@ void MetricsLog::RecordUserAction(const std::string& key) { |
| void MetricsLog::RecordHistogramDelta(const std::string& histogram_name, |
| const base::HistogramSamples& snapshot) { |
| DCHECK(!closed_); |
| - DCHECK_NE(0, snapshot.TotalCount()); |
| - |
| - // We will ignore the MAX_INT/infinite value in the last element of range[]. |
| - |
| - HistogramEventProto* histogram_proto = uma_proto_.add_histogram_event(); |
| - histogram_proto->set_name_hash(Hash(histogram_name)); |
| - histogram_proto->set_sum(snapshot.sum()); |
| - |
| - for (scoped_ptr<SampleCountIterator> it = snapshot.Iterator(); !it->Done(); |
| - it->Next()) { |
| - base::Histogram::Sample min; |
| - base::Histogram::Sample max; |
| - base::Histogram::Count count; |
| - it->Get(&min, &max, &count); |
| - HistogramEventProto::Bucket* bucket = histogram_proto->add_bucket(); |
| - bucket->set_min(min); |
| - bucket->set_max(max); |
| - bucket->set_count(count); |
| - } |
| - |
| - // Omit fields to save space (see rules in histogram_event.proto comments). |
| - for (int i = 0; i < histogram_proto->bucket_size(); ++i) { |
| - HistogramEventProto::Bucket* bucket = histogram_proto->mutable_bucket(i); |
| - if (i + 1 < histogram_proto->bucket_size() && |
| - bucket->max() == histogram_proto->bucket(i + 1).min()) { |
| - bucket->clear_max(); |
| - } else if (bucket->max() == bucket->min() + 1) { |
| - bucket->clear_min(); |
| - } |
| - } |
| + metrics::RecordHistogramDelta(&uma_proto_, histogram_name, snapshot); |
|
Alexei Svitkine (slow)
2014/12/10 15:19:31
Nit: This is already in metrics namespace, so no n
ramant (doing other things)
2014/12/10 22:27:51
Done.
|
| } |
| void MetricsLog::RecordStabilityMetrics( |