OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "chromecast/browser/metrics/external_metrics.h" | 5 #include "chromecast/browser/metrics/external_metrics.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
| 9 #include <memory> |
9 #include <string> | 10 #include <string> |
| 11 #include <vector> |
10 | 12 |
11 #include "base/bind.h" | 13 #include "base/bind.h" |
12 #include "base/files/file_path.h" | 14 #include "base/files/file_path.h" |
13 #include "base/files/file_util.h" | 15 #include "base/files/file_util.h" |
14 #include "base/metrics/histogram.h" | 16 #include "base/metrics/histogram.h" |
15 #include "base/metrics/sparse_histogram.h" | 17 #include "base/metrics/sparse_histogram.h" |
16 #include "base/metrics/statistics_recorder.h" | 18 #include "base/metrics/statistics_recorder.h" |
17 #include "chromecast/base/metrics/cast_histograms.h" | 19 #include "chromecast/base/metrics/cast_histograms.h" |
18 #include "chromecast/base/metrics/cast_metrics_helper.h" | 20 #include "chromecast/base/metrics/cast_metrics_helper.h" |
19 #include "chromecast/browser/metrics/cast_stability_metrics_provider.h" | 21 #include "chromecast/browser/metrics/cast_stability_metrics_provider.h" |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 | 100 |
99 void ExternalMetrics::RecordSparseHistogram( | 101 void ExternalMetrics::RecordSparseHistogram( |
100 const ::metrics::MetricSample& sample) { | 102 const ::metrics::MetricSample& sample) { |
101 CHECK_EQ(::metrics::MetricSample::SPARSE_HISTOGRAM, sample.type()); | 103 CHECK_EQ(::metrics::MetricSample::SPARSE_HISTOGRAM, sample.type()); |
102 base::HistogramBase* counter = base::SparseHistogram::FactoryGet( | 104 base::HistogramBase* counter = base::SparseHistogram::FactoryGet( |
103 sample.name(), base::HistogramBase::kUmaTargetedHistogramFlag); | 105 sample.name(), base::HistogramBase::kUmaTargetedHistogramFlag); |
104 counter->Add(sample.sample()); | 106 counter->Add(sample.sample()); |
105 } | 107 } |
106 | 108 |
107 int ExternalMetrics::CollectEvents() { | 109 int ExternalMetrics::CollectEvents() { |
108 ScopedVector< ::metrics::MetricSample> samples; | 110 std::vector<std::unique_ptr<::metrics::MetricSample>> samples; |
109 ::metrics::SerializationUtils::ReadAndTruncateMetricsFromFile( | 111 ::metrics::SerializationUtils::ReadAndTruncateMetricsFromFile( |
110 uma_events_file_, &samples); | 112 uma_events_file_, &samples); |
111 | 113 |
112 for (ScopedVector< ::metrics::MetricSample>::iterator it = samples.begin(); | 114 for (auto it = samples.begin(); it != samples.end(); ++it) { |
113 it != samples.end(); | |
114 ++it) { | |
115 const ::metrics::MetricSample& sample = **it; | 115 const ::metrics::MetricSample& sample = **it; |
116 | 116 |
117 switch (sample.type()) { | 117 switch (sample.type()) { |
118 case ::metrics::MetricSample::CRASH: | 118 case ::metrics::MetricSample::CRASH: |
119 RecordCrash(sample.name()); | 119 RecordCrash(sample.name()); |
120 break; | 120 break; |
121 case ::metrics::MetricSample::USER_ACTION: | 121 case ::metrics::MetricSample::USER_ACTION: |
122 CastMetricsHelper::GetInstance()->RecordSimpleAction(sample.name()); | 122 CastMetricsHelper::GetInstance()->RecordSimpleAction(sample.name()); |
123 break; | 123 break; |
124 case ::metrics::MetricSample::HISTOGRAM: | 124 case ::metrics::MetricSample::HISTOGRAM: |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 content::BrowserThread::FILE, | 158 content::BrowserThread::FILE, |
159 FROM_HERE, | 159 FROM_HERE, |
160 base::Bind(&ExternalMetrics::CollectEventsAndReschedule, | 160 base::Bind(&ExternalMetrics::CollectEventsAndReschedule, |
161 weak_factory_.GetWeakPtr()), | 161 weak_factory_.GetWeakPtr()), |
162 base::TimeDelta::FromSeconds(kExternalMetricsCollectionIntervalSeconds)); | 162 base::TimeDelta::FromSeconds(kExternalMetricsCollectionIntervalSeconds)); |
163 DCHECK(result); | 163 DCHECK(result); |
164 } | 164 } |
165 | 165 |
166 } // namespace metrics | 166 } // namespace metrics |
167 } // namespace chromecast | 167 } // namespace chromecast |
OLD | NEW |