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

Unified Diff: chrome/browser/translate/translate_manager_metrics.cc

Issue 14762014: Translate: move UMA related code in TranslateManager to TranslateManagerMetrics (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/translate/translate_manager_metrics.cc
diff --git a/chrome/browser/translate/translate_manager_metrics.cc b/chrome/browser/translate/translate_manager_metrics.cc
index bbb311f277798bbf7d16151e1f19c1739616d428..2296110d46f4cb280db2eb34795d87af3a3f2613 100644
--- a/chrome/browser/translate/translate_manager_metrics.cc
+++ b/chrome/browser/translate/translate_manager_metrics.cc
@@ -4,11 +4,37 @@
#include "chrome/browser/translate/translate_manager_metrics.h"
+#include "base/basictypes.h"
#include "base/metrics/histogram.h"
namespace {
-const char kTranslateInitiationStatus[] = "Translate.InitiationStatus";
+// Constant string values to indicate UMA names. All entry should have
MAD 2013/05/15 01:32:48 All entry -> All entries
Takashi Toyoshima 2013/05/15 07:35:04 Oops. This is a mistake belonging to "All your bas
+// a corresponding index in MetricsNameIndex and an entry in |kMetricsEntries|.
+const char kTranslateInitiationStatus[] =
+ "Translate.InitiationStatus";
+const char kTranslateReportLanguageDetectionError[] =
+ "Translate.ReportLanguageDetectionError";
+const char kTranslateServerReportedUnsupportedLanguage[] =
+ "Translate.ServerReportedUnsupportedLanguage";
+
+struct MetricsEntry {
+ TranslateManagerMetrics::MetricsNameIndex index;
+ const char* const name;
+};
+
+// This entry table should be updated when new UMA item is added.
MAD 2013/05/15 01:32:48 item is -> items are
Takashi Toyoshima 2013/05/15 07:35:04 Done.
+const MetricsEntry kMetricsEntries[] = {
+ { TranslateManagerMetrics::UMA_INITIATION_STATUS,
+ kTranslateInitiationStatus },
+ { TranslateManagerMetrics::UMA_LANGUAGE_DETECTION_ERROR,
+ kTranslateReportLanguageDetectionError },
+ { TranslateManagerMetrics::UMA_SERVER_REPORTED_UNSUPPORTED_LANGUAGE,
+ kTranslateServerReportedUnsupportedLanguage },
+};
+
+COMPILE_ASSERT(arraysize(kMetricsEntries) == TranslateManagerMetrics::UMA_MAX,
+ arraysize_of_kMetricsEntries_should_be_UMA_MAX);
} // namespace
@@ -20,15 +46,21 @@ void ReportInitiationStatus(InitiationStatusType type) {
INITIATION_STATUS_MAX);
}
-const char* GetMetricsName(MetricsNameIndex index) {
- const char* names[] = {
- kTranslateInitiationStatus,
- };
- CHECK(index < UMA_MAX);
- return names[index];
+void ReportLanguageDetectionError() {
+ UMA_HISTOGRAM_COUNTS(kTranslateReportLanguageDetectionError, 1);
}
-// TODO(toyoshim): Move UMA related code in TranslateManager to
-// TranslateManagerMetrics.
+void ReportUnsupportedLanguage() {
+ UMA_HISTOGRAM_COUNTS("Translate.ServerReportedUnsupportedLanguage", 1);
MAD 2013/05/15 01:32:48 Oupss... Please use the variable...
Takashi Toyoshima 2013/05/15 07:35:04 Sorry for poor copy and paste...
+}
+
+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 TranslateManagerMetrics

Powered by Google App Engine
This is Rietveld 408576698