Chromium Code Reviews| Index: components/translate/core/common/translate_metrics.cc |
| diff --git a/components/translate/core/common/translate_metrics.cc b/components/translate/core/common/translate_metrics.cc |
| index 572bcbb754ba01b7e0b51cbf51a5c6553507ef00..e864e77df9fbaee3580bdc8fcf4882c57bf8ee43 100644 |
| --- a/components/translate/core/common/translate_metrics.cc |
| +++ b/components/translate/core/common/translate_metrics.cc |
| @@ -15,45 +15,24 @@ |
| namespace translate { |
| -namespace { |
| - |
| -// Constant string values to indicate UMA names. All entries should have |
| -// 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"; |
| -const char kTranslateTimeToTranslate[] = "Translate.TimeToTranslate"; |
| -const char kTranslateUserActionDuration[] = "Translate.UserActionDuration"; |
| -const char kTranslatePageScheme[] = "Translate.PageScheme"; |
| -const char kTranslateSimilarLanguageMatch[] = "Translate.SimilarLanguageMatch"; |
| -const char kTranslateLanguageDetectionConflict[] = |
| +namespace metrics_internal { |
| + |
| +const char* kRenderer4LanguageDetection = "Renderer4.LanguageDetection"; |
|
droger
2017/04/19 08:26:49
const char kRenderer4LanguageDetection[]
is the re
martis
2017/04/20 02:57:29
No longer relevant.
|
| +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"; |
| +const char* kTranslateTimeToTranslate = "Translate.TimeToTranslate"; |
| +const char* kTranslateUserActionDuration = "Translate.UserActionDuration"; |
| +const char* kTranslatePageScheme = "Translate.PageScheme"; |
| +const char* kTranslateSimilarLanguageMatch = "Translate.SimilarLanguageMatch"; |
| +const char* kTranslateLanguageDetectionConflict = |
| "Translate.LanguageDetectionConflict"; |
| -struct MetricsEntry { |
| - MetricsNameIndex index; |
| - const char* const name; |
| -}; |
| - |
| -// This entry table should be updated when new UMA items are added. |
| -const MetricsEntry kMetricsEntries[] = { |
| - {UMA_LANGUAGE_DETECTION, kRenderer4LanguageDetection}, |
| - {UMA_CONTENT_LANGUAGE, kTranslateContentLanguage}, |
| - {UMA_HTML_LANG, kTranslateHtmlLang}, |
| - {UMA_LANGUAGE_VERIFICATION, kTranslateLanguageVerification}, |
| - {UMA_TIME_TO_BE_READY, kTranslateTimeToBeReady}, |
| - {UMA_TIME_TO_LOAD, kTranslateTimeToLoad}, |
| - {UMA_TIME_TO_TRANSLATE, kTranslateTimeToTranslate}, |
| - {UMA_USER_ACTION_DURATION, kTranslateUserActionDuration}, |
| - {UMA_PAGE_SCHEME, kTranslatePageScheme}, |
| - {UMA_SIMILAR_LANGUAGE_MATCH, kTranslateSimilarLanguageMatch}, |
| - {UMA_LANGUAGE_DETECTION_CONFLICT, kTranslateLanguageDetectionConflict}, |
| -}; |
| - |
| -static_assert(arraysize(kMetricsEntries) == UMA_MAX, |
| - "kMetricsEntries should have UMA_MAX elements"); |
| +} // namespace metrics_internal |
| + |
| +namespace { |
| // Page languages for which we track CLD3 language conflicts. |
| const char* kLanguageDetectionConflictPageLangs[] = { |
| @@ -72,43 +51,44 @@ LanguageCheckType GetLanguageCheckMetric(const std::string& provided_code, |
| void ReportContentLanguage(const std::string& provided_code, |
| const std::string& revised_code) { |
| - UMA_HISTOGRAM_ENUMERATION(kTranslateContentLanguage, |
| + UMA_HISTOGRAM_ENUMERATION(metrics_internal::kTranslateContentLanguage, |
| GetLanguageCheckMetric(provided_code, revised_code), |
| LANGUAGE_MAX); |
| } |
| void ReportHtmlLang(const std::string& provided_code, |
| const std::string& revised_code) { |
| - UMA_HISTOGRAM_ENUMERATION(kTranslateHtmlLang, |
| + UMA_HISTOGRAM_ENUMERATION(metrics_internal::kTranslateHtmlLang, |
| GetLanguageCheckMetric(provided_code, revised_code), |
| LANGUAGE_MAX); |
| } |
| void ReportLanguageVerification(LanguageVerificationType type) { |
| - UMA_HISTOGRAM_ENUMERATION(kTranslateLanguageVerification, type, |
| - LANGUAGE_VERIFICATION_MAX); |
| + UMA_HISTOGRAM_ENUMERATION(metrics_internal::kTranslateLanguageVerification, |
| + type, LANGUAGE_VERIFICATION_MAX); |
| } |
| void ReportTimeToBeReady(double time_in_msec) { |
| - UMA_HISTOGRAM_MEDIUM_TIMES(kTranslateTimeToBeReady, |
| + UMA_HISTOGRAM_MEDIUM_TIMES(metrics_internal::kTranslateTimeToBeReady, |
| base::TimeDelta::FromMicroseconds( |
| static_cast<int64_t>(time_in_msec * 1000.0))); |
| } |
| void ReportTimeToLoad(double time_in_msec) { |
| - UMA_HISTOGRAM_MEDIUM_TIMES(kTranslateTimeToLoad, |
| + UMA_HISTOGRAM_MEDIUM_TIMES(metrics_internal::kTranslateTimeToLoad, |
| base::TimeDelta::FromMicroseconds( |
| static_cast<int64_t>(time_in_msec * 1000.0))); |
| } |
| void ReportTimeToTranslate(double time_in_msec) { |
| - UMA_HISTOGRAM_MEDIUM_TIMES(kTranslateTimeToTranslate, |
| + UMA_HISTOGRAM_MEDIUM_TIMES(metrics_internal::kTranslateTimeToTranslate, |
| base::TimeDelta::FromMicroseconds( |
| static_cast<int64_t>(time_in_msec * 1000.0))); |
| } |
| void ReportUserActionDuration(base::TimeTicks begin, base::TimeTicks end) { |
| - UMA_HISTOGRAM_LONG_TIMES(kTranslateUserActionDuration, end - begin); |
| + UMA_HISTOGRAM_LONG_TIMES(metrics_internal::kTranslateUserActionDuration, |
| + end - begin); |
| } |
| void ReportPageScheme(const std::string& scheme) { |
| @@ -117,15 +97,18 @@ void ReportPageScheme(const std::string& scheme) { |
| type = SCHEME_HTTP; |
| else if (scheme == url::kHttpsScheme) |
| type = SCHEME_HTTPS; |
| - UMA_HISTOGRAM_ENUMERATION(kTranslatePageScheme, type, SCHEME_MAX); |
| + UMA_HISTOGRAM_ENUMERATION(metrics_internal::kTranslatePageScheme, type, |
| + SCHEME_MAX); |
| } |
| void ReportLanguageDetectionTime(base::TimeTicks begin, base::TimeTicks end) { |
| - UMA_HISTOGRAM_MEDIUM_TIMES(kRenderer4LanguageDetection, end - begin); |
| + UMA_HISTOGRAM_MEDIUM_TIMES(metrics_internal::kRenderer4LanguageDetection, |
| + end - begin); |
| } |
| void ReportSimilarLanguageMatch(bool match) { |
| - UMA_HISTOGRAM_BOOLEAN(kTranslateSimilarLanguageMatch, match); |
| + UMA_HISTOGRAM_BOOLEAN(metrics_internal::kTranslateSimilarLanguageMatch, |
| + match); |
| } |
| void ReportLanguageDetectionConflict(const std::string& page_lang, |
| @@ -137,17 +120,8 @@ void ReportLanguageDetectionConflict(const std::string& page_lang, |
| it == std::end(kLanguageDetectionConflictPageLangs) ? "other" : *it; |
| UMA_HISTOGRAM_SPARSE_SLOWLY( |
| - kTranslateLanguageDetectionConflict, |
| + metrics_internal::kTranslateLanguageDetectionConflict, |
| base::HashMetricName(page_lang_token + "," + cld_lang)); |
| } |
| -const char* GetMetricsName(MetricsNameIndex index) { |
| - for (size_t i = 0; i < arraysize(kMetricsEntries); ++i) { |
| - if (kMetricsEntries[i].index == index) |
| - return kMetricsEntries[i].name; |
| - } |
| - NOTREACHED(); |
| - return NULL; |
| -} |
| - |
| } // namespace translate |