| 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 |