| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/renderer/translate/translate_helper_metrics.h" | 5 #include "chrome/renderer/translate/translate_helper_metrics.h" |
| 6 | 6 |
| 7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
| 8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
| 9 #include "base/metrics/histogram.h" | 9 #include "base/metrics/histogram.h" |
| 10 #include "base/metrics/histogram_samples.h" | 10 #include "base/metrics/histogram_samples.h" |
| (...skipping 15 matching lines...) Expand all Loading... |
| 26 : key_(key), | 26 : key_(key), |
| 27 base_samples_(NULL), | 27 base_samples_(NULL), |
| 28 samples_(NULL) { | 28 samples_(NULL) { |
| 29 StatisticsRecorder::Initialize(); | 29 StatisticsRecorder::Initialize(); |
| 30 | 30 |
| 31 HistogramBase* histogram = StatisticsRecorder::FindHistogram(key_); | 31 HistogramBase* histogram = StatisticsRecorder::FindHistogram(key_); |
| 32 if (histogram) | 32 if (histogram) |
| 33 base_samples_ = histogram->SnapshotSamples(); | 33 base_samples_ = histogram->SnapshotSamples(); |
| 34 } | 34 } |
| 35 | 35 |
| 36 void CheckLanguage(TranslateHelperMetrics::MetricsNameIndex index, | 36 void CheckContentLanguage(int expected_not_provided, |
| 37 int expected_not_provided, | 37 int expected_valid, |
| 38 int expected_valid, | 38 int expected_invalid) { |
| 39 int expected_invalid) { | 39 ASSERT_EQ(TranslateHelperMetrics::GetMetricsName( |
| 40 ASSERT_EQ(TranslateHelperMetrics::GetMetricsName(index), key_); | 40 TranslateHelperMetrics::UMA_CONTENT_LANGUAGE), key_); |
| 41 | 41 |
| 42 Snapshot(); | 42 Snapshot(); |
| 43 | 43 |
| 44 EXPECT_EQ(expected_not_provided, | 44 EXPECT_EQ( |
| 45 GetCount(TranslateHelperMetrics::LANGUAGE_NOT_PROVIDED)); | 45 expected_not_provided, |
| 46 EXPECT_EQ(expected_valid, | 46 GetCount(TranslateHelperMetrics::CONTENT_LANGUAGE_NOT_PROVIDED)); |
| 47 GetCount(TranslateHelperMetrics::LANGUAGE_VALID)); | 47 EXPECT_EQ( |
| 48 EXPECT_EQ(expected_invalid, | 48 expected_valid, |
| 49 GetCount(TranslateHelperMetrics::LANGUAGE_INVALID)); | 49 GetCount(TranslateHelperMetrics::CONTENT_LANGUAGE_VALID)); |
| 50 EXPECT_EQ( |
| 51 expected_invalid, |
| 52 GetCount(TranslateHelperMetrics::CONTENT_LANGUAGE_INVALID)); |
| 50 } | 53 } |
| 51 | 54 |
| 52 void CheckLanguageVerification(int expected_cld_disabled, | 55 void CheckLanguageVerification(int expected_cld_disabled, |
| 53 int expected_cld_only, | 56 int expected_cld_only, |
| 54 int expected_unknown, | 57 int expected_unknown, |
| 55 int expected_cld_agree, | 58 int expected_cld_agree, |
| 56 int expected_cld_disagree) { | 59 int expected_cld_disagree) { |
| 57 ASSERT_EQ(TranslateHelperMetrics::GetMetricsName( | 60 ASSERT_EQ(TranslateHelperMetrics::GetMetricsName( |
| 58 TranslateHelperMetrics::UMA_LANGUAGE_VERIFICATION), key_); | 61 TranslateHelperMetrics::UMA_LANGUAGE_VERIFICATION), key_); |
| 59 | 62 |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 140 | 143 |
| 141 DISALLOW_COPY_AND_ASSIGN(MetricsRecorder); | 144 DISALLOW_COPY_AND_ASSIGN(MetricsRecorder); |
| 142 }; | 145 }; |
| 143 | 146 |
| 144 } // namespace | 147 } // namespace |
| 145 | 148 |
| 146 TEST(TranslateHelperMetricsTest, ReportContentLanguage) { | 149 TEST(TranslateHelperMetricsTest, ReportContentLanguage) { |
| 147 MetricsRecorder recorder(TranslateHelperMetrics::GetMetricsName( | 150 MetricsRecorder recorder(TranslateHelperMetrics::GetMetricsName( |
| 148 TranslateHelperMetrics::UMA_CONTENT_LANGUAGE)); | 151 TranslateHelperMetrics::UMA_CONTENT_LANGUAGE)); |
| 149 | 152 |
| 150 recorder.CheckLanguage(TranslateHelperMetrics::UMA_CONTENT_LANGUAGE, 0, 0, 0); | 153 recorder.CheckContentLanguage(0, 0, 0); |
| 151 TranslateHelperMetrics::ReportContentLanguage(std::string(), std::string()); | 154 TranslateHelperMetrics::ReportContentLanguage(std::string(), std::string()); |
| 152 recorder.CheckLanguage(TranslateHelperMetrics::UMA_CONTENT_LANGUAGE, 1, 0, 0); | 155 recorder.CheckContentLanguage(1, 0, 0); |
| 153 TranslateHelperMetrics::ReportContentLanguage("ja_JP", "ja-JP"); | 156 TranslateHelperMetrics::ReportContentLanguage("ja_JP", "ja-JP"); |
| 154 recorder.CheckLanguage(TranslateHelperMetrics::UMA_CONTENT_LANGUAGE, 1, 0, 1); | 157 recorder.CheckContentLanguage(1, 0, 1); |
| 155 TranslateHelperMetrics::ReportContentLanguage("en", "en"); | 158 TranslateHelperMetrics::ReportContentLanguage("en", "en"); |
| 156 recorder.CheckLanguage(TranslateHelperMetrics::UMA_CONTENT_LANGUAGE, 1, 1, 1); | 159 recorder.CheckContentLanguage(1, 1, 1); |
| 157 } | |
| 158 | |
| 159 TEST(TranslateHelperMetricsTest, ReportHtmlLang) { | |
| 160 MetricsRecorder recorder(TranslateHelperMetrics::GetMetricsName( | |
| 161 TranslateHelperMetrics::UMA_HTML_LANG)); | |
| 162 | |
| 163 recorder.CheckLanguage(TranslateHelperMetrics::UMA_HTML_LANG, 0, 0, 0); | |
| 164 TranslateHelperMetrics::ReportHtmlLang(std::string(), std::string()); | |
| 165 recorder.CheckLanguage(TranslateHelperMetrics::UMA_HTML_LANG, 1, 0, 0); | |
| 166 TranslateHelperMetrics::ReportHtmlLang("ja_JP", "ja-JP"); | |
| 167 recorder.CheckLanguage(TranslateHelperMetrics::UMA_HTML_LANG, 1, 0, 1); | |
| 168 TranslateHelperMetrics::ReportHtmlLang("en", "en"); | |
| 169 recorder.CheckLanguage(TranslateHelperMetrics::UMA_HTML_LANG, 1, 1, 1); | |
| 170 } | 160 } |
| 171 | 161 |
| 172 TEST(TranslateHelperMetricsTest, ReportLanguageVerification) { | 162 TEST(TranslateHelperMetricsTest, ReportLanguageVerification) { |
| 173 MetricsRecorder recorder(TranslateHelperMetrics::GetMetricsName( | 163 MetricsRecorder recorder(TranslateHelperMetrics::GetMetricsName( |
| 174 TranslateHelperMetrics::UMA_LANGUAGE_VERIFICATION)); | 164 TranslateHelperMetrics::UMA_LANGUAGE_VERIFICATION)); |
| 175 | 165 |
| 176 recorder.CheckLanguageVerification(0, 0, 0, 0, 0); | 166 recorder.CheckLanguageVerification(0, 0, 0, 0, 0); |
| 177 TranslateHelperMetrics::ReportLanguageVerification( | 167 TranslateHelperMetrics::ReportLanguageVerification( |
| 178 TranslateHelperMetrics::LANGUAGE_VERIFICATION_CLD_DISABLED); | 168 TranslateHelperMetrics::LANGUAGE_VERIFICATION_CLD_DISABLED); |
| 179 recorder.CheckLanguageVerification(1, 0, 0, 0, 0); | 169 recorder.CheckLanguageVerification(1, 0, 0, 0, 0); |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 248 TranslateHelperMetrics::UMA_LANGUAGE_DETECTION)); | 238 TranslateHelperMetrics::UMA_LANGUAGE_DETECTION)); |
| 249 recorder.CheckTotalCount(0); | 239 recorder.CheckTotalCount(0); |
| 250 TimeTicks begin = TimeTicks::Now(); | 240 TimeTicks begin = TimeTicks::Now(); |
| 251 TimeTicks end = begin + base::TimeDelta::FromMicroseconds(9009); | 241 TimeTicks end = begin + base::TimeDelta::FromMicroseconds(9009); |
| 252 TranslateHelperMetrics::ReportLanguageDetectionTime(begin, end); | 242 TranslateHelperMetrics::ReportLanguageDetectionTime(begin, end); |
| 253 recorder.CheckValueInLogs(9.009); | 243 recorder.CheckValueInLogs(9.009); |
| 254 recorder.CheckTotalCount(1); | 244 recorder.CheckTotalCount(1); |
| 255 } | 245 } |
| 256 | 246 |
| 257 #endif // defined(ENABLE_LANGUAGE_DETECTION) | 247 #endif // defined(ENABLE_LANGUAGE_DETECTION) |
| OLD | NEW |