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

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: fix typos 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..5b11d30548b4e0b698074cad0e3ff7a83357eff0 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 entries should have
+// 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 items are added.
+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(kTranslateServerReportedUnsupportedLanguage, 1);
+}
+
+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
« no previous file with comments | « chrome/browser/translate/translate_manager_metrics.h ('k') | chrome/browser/translate/translate_manager_metrics_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698