Chromium Code Reviews| 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 #include "chrome/browser/chromeos/external_metrics.h" | 5 #include "chrome/browser/chromeos/external_metrics.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <map> | 9 #include <map> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 125 | 125 |
| 126 void ExternalMetrics::RecordSparseHistogram( | 126 void ExternalMetrics::RecordSparseHistogram( |
| 127 const metrics::MetricSample& sample) { | 127 const metrics::MetricSample& sample) { |
| 128 CHECK_EQ(metrics::MetricSample::SPARSE_HISTOGRAM, sample.type()); | 128 CHECK_EQ(metrics::MetricSample::SPARSE_HISTOGRAM, sample.type()); |
| 129 base::HistogramBase* counter = base::SparseHistogram::FactoryGet( | 129 base::HistogramBase* counter = base::SparseHistogram::FactoryGet( |
| 130 sample.name(), base::HistogramBase::kUmaTargetedHistogramFlag); | 130 sample.name(), base::HistogramBase::kUmaTargetedHistogramFlag); |
| 131 counter->Add(sample.sample()); | 131 counter->Add(sample.sample()); |
| 132 } | 132 } |
| 133 | 133 |
| 134 int ExternalMetrics::CollectEvents() { | 134 int ExternalMetrics::CollectEvents() { |
| 135 ScopedVector<metrics::MetricSample> samples; | 135 std::vector<std::unique_ptr<metrics::MetricSample>> samples; |
|
Ilya Sherman
2017/02/13 19:21:30
Please #include <vector> and <memory> at the top o
ke.he
2017/02/14 04:24:14
Done.
| |
| 136 metrics::SerializationUtils::ReadAndTruncateMetricsFromFile(uma_events_file_, | 136 metrics::SerializationUtils::ReadAndTruncateMetricsFromFile(uma_events_file_, |
| 137 &samples); | 137 &samples); |
| 138 | 138 |
| 139 for (ScopedVector<metrics::MetricSample>::iterator it = samples.begin(); | 139 for (auto it = samples.begin(); it != samples.end(); ++it) { |
| 140 it != samples.end(); | |
| 141 ++it) { | |
| 142 const metrics::MetricSample& sample = **it; | 140 const metrics::MetricSample& sample = **it; |
| 143 | 141 |
| 144 // Do not use the UMA_HISTOGRAM_... macros here. They cache the Histogram | 142 // Do not use the UMA_HISTOGRAM_... macros here. They cache the Histogram |
| 145 // instance and thus only work if |sample.name()| is constant. | 143 // instance and thus only work if |sample.name()| is constant. |
| 146 switch (sample.type()) { | 144 switch (sample.type()) { |
| 147 case metrics::MetricSample::CRASH: | 145 case metrics::MetricSample::CRASH: |
| 148 RecordCrash(sample.name()); | 146 RecordCrash(sample.name()); |
| 149 break; | 147 break; |
| 150 case metrics::MetricSample::USER_ACTION: | 148 case metrics::MetricSample::USER_ACTION: |
| 151 RecordAction(sample.name()); | 149 RecordAction(sample.name()); |
| (...skipping 20 matching lines...) Expand all Loading... | |
| 172 | 170 |
| 173 void ExternalMetrics::ScheduleCollector() { | 171 void ExternalMetrics::ScheduleCollector() { |
| 174 bool result = BrowserThread::GetBlockingPool()->PostDelayedWorkerTask( | 172 bool result = BrowserThread::GetBlockingPool()->PostDelayedWorkerTask( |
| 175 FROM_HERE, | 173 FROM_HERE, |
| 176 base::Bind(&chromeos::ExternalMetrics::CollectEventsAndReschedule, this), | 174 base::Bind(&chromeos::ExternalMetrics::CollectEventsAndReschedule, this), |
| 177 base::TimeDelta::FromSeconds(kExternalMetricsCollectionIntervalSeconds)); | 175 base::TimeDelta::FromSeconds(kExternalMetricsCollectionIntervalSeconds)); |
| 178 DCHECK(result); | 176 DCHECK(result); |
| 179 } | 177 } |
| 180 | 178 |
| 181 } // namespace chromeos | 179 } // namespace chromeos |
| OLD | NEW |