Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(38)

Side by Side Diff: chrome/common/translate/translate_common_metrics.cc

Issue 18911002: Move language detection to chrome/common/. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Rebase Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/common/translate/translate_common_metrics.h"
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/metrics/histogram.h" 8 #include "base/metrics/histogram.h"
9 9
10 namespace { 10 namespace {
11 11
12 // Constant string values to indicate UMA names. All entries should have 12 // Constant string values to indicate UMA names. All entries should have
13 // a corresponding index in MetricsNameIndex and an entry in |kMetricsEntries|. 13 // a corresponding index in MetricsNameIndex and an entry in |kMetricsEntries|.
14 const char kRenderer4LanguageDetection[] = "Renderer4.LanguageDetection"; 14 const char kRenderer4LanguageDetection[] = "Renderer4.LanguageDetection";
15 const char kTranslateContentLanguage[] = "Translate.ContentLanguage"; 15 const char kTranslateContentLanguage[] = "Translate.ContentLanguage";
16 const char kTranslateHtmlLang[] = "Translate.HtmlLang"; 16 const char kTranslateHtmlLang[] = "Translate.HtmlLang";
17 const char kTranslateLanguageVerification[] = "Translate.LanguageVerification"; 17 const char kTranslateLanguageVerification[] = "Translate.LanguageVerification";
18 const char kTranslateTimeToBeReady[] = "Translate.TimeToBeReady"; 18 const char kTranslateTimeToBeReady[] = "Translate.TimeToBeReady";
19 const char kTranslateTimeToLoad[] = "Translate.TimeToLoad"; 19 const char kTranslateTimeToLoad[] = "Translate.TimeToLoad";
20 const char kTranslateTimeToTranslate[] = "Translate.TimeToTranslate"; 20 const char kTranslateTimeToTranslate[] = "Translate.TimeToTranslate";
21 const char kTranslateUserActionDuration[] = "Translate.UserActionDuration"; 21 const char kTranslateUserActionDuration[] = "Translate.UserActionDuration";
22 const char kTranslatePageScheme[] = "Translate.PageScheme"; 22 const char kTranslatePageScheme[] = "Translate.PageScheme";
23 const char kTranslateSimilarLanguageMatch[] = "Translate.SimilarLanguageMatch"; 23 const char kTranslateSimilarLanguageMatch[] = "Translate.SimilarLanguageMatch";
24 24
25 const char kSchemeHttp[] = "http"; 25 const char kSchemeHttp[] = "http";
26 const char kSchemeHttps[] = "https"; 26 const char kSchemeHttps[] = "https";
27 27
28 struct MetricsEntry { 28 struct MetricsEntry {
29 TranslateHelperMetrics::MetricsNameIndex index; 29 TranslateCommonMetrics::MetricsNameIndex index;
30 const char* const name; 30 const char* const name;
31 }; 31 };
32 32
33 // This entry table should be updated when new UMA items are added. 33 // This entry table should be updated when new UMA items are added.
34 const MetricsEntry kMetricsEntries[] = { 34 const MetricsEntry kMetricsEntries[] = {
35 { TranslateHelperMetrics::UMA_LANGUAGE_DETECTION, 35 { TranslateCommonMetrics::UMA_LANGUAGE_DETECTION,
36 kRenderer4LanguageDetection }, 36 kRenderer4LanguageDetection },
37 { TranslateHelperMetrics::UMA_CONTENT_LANGUAGE, 37 { TranslateCommonMetrics::UMA_CONTENT_LANGUAGE,
38 kTranslateContentLanguage }, 38 kTranslateContentLanguage },
39 { TranslateHelperMetrics::UMA_HTML_LANG, 39 { TranslateCommonMetrics::UMA_HTML_LANG,
40 kTranslateHtmlLang }, 40 kTranslateHtmlLang },
41 { TranslateHelperMetrics::UMA_LANGUAGE_VERIFICATION, 41 { TranslateCommonMetrics::UMA_LANGUAGE_VERIFICATION,
42 kTranslateLanguageVerification }, 42 kTranslateLanguageVerification },
43 { TranslateHelperMetrics::UMA_TIME_TO_BE_READY, 43 { TranslateCommonMetrics::UMA_TIME_TO_BE_READY,
44 kTranslateTimeToBeReady }, 44 kTranslateTimeToBeReady },
45 { TranslateHelperMetrics::UMA_TIME_TO_LOAD, 45 { TranslateCommonMetrics::UMA_TIME_TO_LOAD,
46 kTranslateTimeToLoad }, 46 kTranslateTimeToLoad },
47 { TranslateHelperMetrics::UMA_TIME_TO_TRANSLATE, 47 { TranslateCommonMetrics::UMA_TIME_TO_TRANSLATE,
48 kTranslateTimeToTranslate }, 48 kTranslateTimeToTranslate },
49 { TranslateHelperMetrics::UMA_USER_ACTION_DURATION, 49 { TranslateCommonMetrics::UMA_USER_ACTION_DURATION,
50 kTranslateUserActionDuration }, 50 kTranslateUserActionDuration },
51 { TranslateHelperMetrics::UMA_PAGE_SCHEME, 51 { TranslateCommonMetrics::UMA_PAGE_SCHEME,
52 kTranslatePageScheme }, 52 kTranslatePageScheme },
53 { TranslateHelperMetrics::UMA_SIMILAR_LANGUAGE_MATCH, 53 { TranslateCommonMetrics::UMA_SIMILAR_LANGUAGE_MATCH,
54 kTranslateSimilarLanguageMatch }, 54 kTranslateSimilarLanguageMatch },
55 }; 55 };
56 56
57 COMPILE_ASSERT(arraysize(kMetricsEntries) == TranslateHelperMetrics::UMA_MAX, 57 COMPILE_ASSERT(arraysize(kMetricsEntries) == TranslateCommonMetrics::UMA_MAX,
58 arraysize_of_kMetricsEntries_should_be_UMA_MAX); 58 arraysize_of_kMetricsEntries_should_be_UMA_MAX);
59 59
60 TranslateHelperMetrics::LanguageCheckType GetLanguageCheckMetric( 60 TranslateCommonMetrics::LanguageCheckType GetLanguageCheckMetric(
61 const std::string& provided_code, 61 const std::string& provided_code,
62 const std::string& revised_code) { 62 const std::string& revised_code) {
63 if (provided_code.empty()) 63 if (provided_code.empty())
64 return TranslateHelperMetrics::LANGUAGE_NOT_PROVIDED; 64 return TranslateCommonMetrics::LANGUAGE_NOT_PROVIDED;
65 else if (provided_code == revised_code) 65 else if (provided_code == revised_code)
66 return TranslateHelperMetrics::LANGUAGE_VALID; 66 return TranslateCommonMetrics::LANGUAGE_VALID;
67 return TranslateHelperMetrics::LANGUAGE_INVALID; 67 return TranslateCommonMetrics::LANGUAGE_INVALID;
68 } 68 }
69 69
70 } // namespace 70 } // namespace
71 71
72 namespace TranslateHelperMetrics { 72 namespace TranslateCommonMetrics {
73 73
74 void ReportContentLanguage(const std::string& provided_code, 74 void ReportContentLanguage(const std::string& provided_code,
75 const std::string& revised_code) { 75 const std::string& revised_code) {
76 UMA_HISTOGRAM_ENUMERATION(kTranslateContentLanguage, 76 UMA_HISTOGRAM_ENUMERATION(kTranslateContentLanguage,
77 GetLanguageCheckMetric(provided_code, revised_code), 77 GetLanguageCheckMetric(provided_code, revised_code),
78 TranslateHelperMetrics::LANGUAGE_MAX); 78 TranslateCommonMetrics::LANGUAGE_MAX);
79 } 79 }
80 80
81 void ReportHtmlLang(const std::string& provided_code, 81 void ReportHtmlLang(const std::string& provided_code,
82 const std::string& revised_code) { 82 const std::string& revised_code) {
83 UMA_HISTOGRAM_ENUMERATION(kTranslateHtmlLang, 83 UMA_HISTOGRAM_ENUMERATION(kTranslateHtmlLang,
84 GetLanguageCheckMetric(provided_code, revised_code), 84 GetLanguageCheckMetric(provided_code, revised_code),
85 TranslateHelperMetrics::LANGUAGE_MAX); 85 TranslateCommonMetrics::LANGUAGE_MAX);
86 } 86 }
87 87
88 void ReportLanguageVerification(LanguageVerificationType type) { 88 void ReportLanguageVerification(LanguageVerificationType type) {
89 UMA_HISTOGRAM_ENUMERATION(kTranslateLanguageVerification, 89 UMA_HISTOGRAM_ENUMERATION(kTranslateLanguageVerification,
90 type, 90 type,
91 LANGUAGE_VERIFICATION_MAX); 91 LANGUAGE_VERIFICATION_MAX);
92 } 92 }
93 93
94 void ReportTimeToBeReady(double time_in_msec) { 94 void ReportTimeToBeReady(double time_in_msec) {
95 UMA_HISTOGRAM_MEDIUM_TIMES( 95 UMA_HISTOGRAM_MEDIUM_TIMES(
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 136
137 const char* GetMetricsName(MetricsNameIndex index) { 137 const char* GetMetricsName(MetricsNameIndex index) {
138 for (size_t i = 0; i < arraysize(kMetricsEntries); ++i) { 138 for (size_t i = 0; i < arraysize(kMetricsEntries); ++i) {
139 if (kMetricsEntries[i].index == index) 139 if (kMetricsEntries[i].index == index)
140 return kMetricsEntries[i].name; 140 return kMetricsEntries[i].name;
141 } 141 }
142 NOTREACHED(); 142 NOTREACHED();
143 return NULL; 143 return NULL;
144 } 144 }
145 145
146 } // namespace TranslateHelperMetrics 146 } // namespace TranslateCommonMetrics
OLDNEW
« no previous file with comments | « chrome/common/translate/translate_common_metrics.h ('k') | chrome/common/translate/translate_common_metrics_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698