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

Unified Diff: chrome/browser/engagement/site_engagement_metrics.cc

Issue 1368533004: Add UMA metrics to the site engagement service. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@time-on-site
Patch Set: Addressing reviewer comments Created 5 years, 3 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/engagement/site_engagement_metrics.cc
diff --git a/chrome/browser/engagement/site_engagement_metrics.cc b/chrome/browser/engagement/site_engagement_metrics.cc
new file mode 100644
index 0000000000000000000000000000000000000000..c97df66824eadb083adb8f0b8108d694f4d4d648
--- /dev/null
+++ b/chrome/browser/engagement/site_engagement_metrics.cc
@@ -0,0 +1,72 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/engagement/site_engagement_metrics.h"
+
+#include "base/metrics/histogram_macros.h"
+#include "base/metrics/sparse_histogram.h"
+
+namespace {
+
+const char kTotalEngagementHistogram[] =
+ "SiteEngagementService.TotalEngagement";
+
+const char kTotalOriginsHistogram[] = "SiteEngagementService.OriginsEngaged";
+
+const char kEngagementByOriginHistogram[] =
+ "SiteEngagementService.EngagementByOrigin";
+
+const char kOriginsWithMaxEngagementHistogram[] =
+ "SiteEngagementService.OriginsWithMaxEngagement";
+
+const char kOriginsWithMaxDailyEngagementHistogram[] =
+ "SiteEngagementService.OriginsWithMaxDailyEngagement";
+
+const char kEngagementTypeHistogram[] = "SiteEngagementService.EngagementType";
+
+} // anonymous namespace
calamity 2015/09/28 07:33:47 nit: Just // namespace. (Matches rest of Chrome)
dominickn 2015/09/29 02:29:36 Done.
+
+void SiteEngagementMetrics::RecordTotalSiteEngagement(
+ double total_engagement) {
+ UMA_HISTOGRAM_COUNTS_100(kTotalEngagementHistogram, total_engagement);
calamity 2015/09/28 07:33:47 Is this a histogram of max value 100? You're gonna
dominickn 2015/09/29 02:29:36 Done.
+}
+
+void SiteEngagementMetrics::RecordTotalOriginsEngaged(int num_origins) {
+ UMA_HISTOGRAM_COUNTS_100(kTotalOriginsHistogram, num_origins);
calamity 2015/09/28 07:33:48 Ditto.
dominickn 2015/09/29 02:29:36 Done.
+}
+
+void SiteEngagementMetrics::RecordEngagementByOrigin(
+ std::map<GURL, double> score_map) {
+ for (const auto& value: score_map)
+ UMA_HISTOGRAM_COUNTS_100(kEngagementByOriginHistogram, value.second);
+}
+
+void SiteEngagementMetrics::RecordOriginsWithMaxEngagement(int total_origins) {
+ UMA_HISTOGRAM_COUNTS_100(kOriginsWithMaxEngagementHistogram, total_origins);
+}
+
+void SiteEngagementMetrics::RecordOriginsWithMaxDailyEngagement(
+ int total_origins) {
+ UMA_HISTOGRAM_COUNTS_100(kOriginsWithMaxDailyEngagementHistogram,
+ total_origins);
+}
+
+void SiteEngagementMetrics::RecordEngagement(EngagementType type) {
+ switch (type) {
+ case ENGAGEMENT_NAVIGATION:
+ UMA_HISTOGRAM_SPARSE_SLOWLY(kEngagementTypeHistogram,
+ ENGAGEMENT_NAVIGATION);
+ break;
+ case ENGAGEMENT_KEYPRESS:
+ UMA_HISTOGRAM_SPARSE_SLOWLY(kEngagementTypeHistogram,
+ ENGAGEMENT_KEYPRESS);
+ break;
+ case ENGAGEMENT_MOUSE:
+ UMA_HISTOGRAM_SPARSE_SLOWLY(kEngagementTypeHistogram, ENGAGEMENT_MOUSE);
+ break;
+ default:
+ NOTREACHED() << "Invalid type passed to RecordUserInput().";
+ break;
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698