Chromium Code Reviews| Index: chrome/renderer/translate/translate_helper_metrics.cc |
| diff --git a/chrome/renderer/translate/translate_helper_metrics.cc b/chrome/renderer/translate/translate_helper_metrics.cc |
| index 25bdf536f57bd82dafc1fc15418a2feaeb9fdc52..d58343829abaf82c9b1765ba802a8e50b97cf872 100644 |
| --- a/chrome/renderer/translate/translate_helper_metrics.cc |
| +++ b/chrome/renderer/translate/translate_helper_metrics.cc |
| @@ -13,6 +13,7 @@ namespace { |
| // a corresponding index in MetricsNameIndex and an entry in |kMetricsEntries|. |
| const char kRenderer4LanguageDetection[] = "Renderer4.LanguageDetection"; |
| const char kTranslateContentLanguage[] = "Translate.ContentLanguage"; |
| +const char kTranslateHtmlLang[] = "Translate.HtmlLang"; |
| const char kTranslateLanguageVerification[] = "Translate.LanguageVerification"; |
| const char kTranslateTimeToBeReady[] = "Translate.TimeToBeReady"; |
| const char kTranslateTimeToLoad[] = "Translate.TimeToLoad"; |
| @@ -30,6 +31,8 @@ const MetricsEntry kMetricsEntries[] = { |
| kRenderer4LanguageDetection }, |
| { TranslateHelperMetrics::UMA_CONTENT_LANGUAGE, |
| kTranslateContentLanguage }, |
| + { TranslateHelperMetrics::UMA_HTML_LANG, |
| + kTranslateHtmlLang }, |
| { TranslateHelperMetrics::UMA_LANGUAGE_VERIFICATION, |
| kTranslateLanguageVerification }, |
| { TranslateHelperMetrics::UMA_TIME_TO_BE_READY, |
| @@ -45,25 +48,36 @@ const MetricsEntry kMetricsEntries[] = { |
| COMPILE_ASSERT(arraysize(kMetricsEntries) == TranslateHelperMetrics::UMA_MAX, |
| arraysize_of_kMetricsEntries_should_be_UMA_MAX); |
| +void ReportLanguageCheck(const char* metric_name, |
| + const std::string& provided_code, |
| + const std::string& revised_code) { |
| + if (provided_code.empty()) { |
| + UMA_HISTOGRAM_ENUMERATION(metric_name, |
|
Ilya Sherman
2013/05/22 20:26:17
This won't work as you want it to -- the histogram
Takashi Toyoshima
2013/05/23 00:37:14
Thanks.
As you said, unit_tests fails on this.
(So
|
| + TranslateHelperMetrics::LANGUAGE_NOT_PROVIDED, |
| + TranslateHelperMetrics::LANGUAGE_MAX); |
| + } else if (provided_code == revised_code) { |
| + UMA_HISTOGRAM_ENUMERATION(metric_name, |
| + TranslateHelperMetrics::LANGUAGE_VALID, |
| + TranslateHelperMetrics::LANGUAGE_MAX); |
| + } else { |
| + UMA_HISTOGRAM_ENUMERATION(metric_name, |
| + TranslateHelperMetrics::LANGUAGE_INVALID, |
| + TranslateHelperMetrics::LANGUAGE_MAX); |
| + } |
| +} |
| + |
| } // namespace |
| namespace TranslateHelperMetrics { |
| void ReportContentLanguage(const std::string& provided_code, |
| const std::string& revised_code) { |
| - if (provided_code.empty()) { |
| - UMA_HISTOGRAM_ENUMERATION(kTranslateContentLanguage, |
| - CONTENT_LANGUAGE_NOT_PROVIDED, |
| - CONTENT_LANGUAGE_MAX); |
| - } else if (provided_code == revised_code) { |
| - UMA_HISTOGRAM_ENUMERATION(kTranslateContentLanguage, |
| - CONTENT_LANGUAGE_VALID, |
| - CONTENT_LANGUAGE_MAX); |
| - } else { |
| - UMA_HISTOGRAM_ENUMERATION(kTranslateContentLanguage, |
| - CONTENT_LANGUAGE_INVALID, |
| - CONTENT_LANGUAGE_MAX); |
| - } |
| + ReportLanguageCheck(kTranslateContentLanguage, provided_code, revised_code); |
| +} |
| + |
| +void ReportHtmlLang(const std::string& provided_code, |
| + const std::string& revised_code) { |
| + ReportLanguageCheck(kTranslateHtmlLang, provided_code, revised_code); |
| } |
| void ReportLanguageVerification(LanguageVerificationType type) { |