summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfelt <felt@chromium.org>2016-02-23 17:41:00 -0800
committerCommit bot <commit-bot@chromium.org>2016-02-24 01:43:27 +0000
commit15e904639454f9b5b0313eea8d2a72b8d967942a (patch)
treee4cd667e7389f1bdbf26b3b2ee7dfeef59b7a41f
parentdfbf0696b713398f9e30cb5db74aae5c1b6d25fa (diff)
downloadchromium_src-15e904639454f9b5b0313eea8d2a72b8d967942a.zip
chromium_src-15e904639454f9b5b0313eea8d2a72b8d967942a.tar.gz
chromium_src-15e904639454f9b5b0313eea8d2a72b8d967942a.tar.bz2
Record Site Engagement Scores for HTTP and HTTPS pages separately
I'm trying to look at how people spend time on HTTP vs HTTPS pages; ideally, more engagement will happen on HTTPS. BUG=588941 Review URL: https://codereview.chromium.org/1725633002 Cr-Commit-Position: refs/heads/master@{#377182}
-rw-r--r--chrome/browser/engagement/site_engagement_metrics.cc11
-rw-r--r--chrome/browser/engagement/site_engagement_metrics.h2
-rw-r--r--chrome/browser/engagement/site_engagement_service_unittest.cc20
-rw-r--r--tools/metrics/histograms/histograms.xml24
4 files changed, 57 insertions, 0 deletions
diff --git a/chrome/browser/engagement/site_engagement_metrics.cc b/chrome/browser/engagement/site_engagement_metrics.cc
index 1159253..3dd3a10 100644
--- a/chrome/browser/engagement/site_engagement_metrics.cc
+++ b/chrome/browser/engagement/site_engagement_metrics.cc
@@ -33,6 +33,12 @@ const char SiteEngagementMetrics::kMedianEngagementHistogram[] =
const char SiteEngagementMetrics::kEngagementScoreHistogram[] =
"SiteEngagementService.EngagementScore";
+const char SiteEngagementMetrics::kEngagementScoreHistogramHTTP[] =
+ "SiteEngagementService.EngagementScore.HTTP";
+
+const char SiteEngagementMetrics::kEngagementScoreHistogramHTTPS[] =
+ "SiteEngagementService.EngagementScore.HTTPS";
+
const char SiteEngagementMetrics::kOriginsWithMaxEngagementHistogram[] =
"SiteEngagementService.OriginsWithMaxEngagement";
@@ -85,6 +91,11 @@ void SiteEngagementMetrics::RecordEngagementScores(
for (const auto& value : score_map) {
UMA_HISTOGRAM_COUNTS_100(kEngagementScoreHistogram, value.second);
score_buckets.lower_bound(value.second)->second++;
+
+ if (value.first.SchemeIs(url::kHttpsScheme))
+ UMA_HISTOGRAM_COUNTS_100(kEngagementScoreHistogramHTTPS, value.second);
+ else if (value.first.SchemeIs(url::kHttpScheme))
+ UMA_HISTOGRAM_COUNTS_100(kEngagementScoreHistogramHTTP, value.second);
}
for (const auto& b : score_buckets) {
diff --git a/chrome/browser/engagement/site_engagement_metrics.h b/chrome/browser/engagement/site_engagement_metrics.h
index c424824..0d249e7 100644
--- a/chrome/browser/engagement/site_engagement_metrics.h
+++ b/chrome/browser/engagement/site_engagement_metrics.h
@@ -54,6 +54,8 @@ class SiteEngagementMetrics {
static const char kMeanEngagementHistogram[];
static const char kMedianEngagementHistogram[];
static const char kEngagementScoreHistogram[];
+ static const char kEngagementScoreHistogramHTTP[];
+ static const char kEngagementScoreHistogramHTTPS[];
static const char kOriginsWithMaxEngagementHistogram[];
static const char kOriginsWithMaxDailyEngagementHistogram[];
static const char kPercentOriginsWithMaxEngagementHistogram[];
diff --git a/chrome/browser/engagement/site_engagement_service_unittest.cc b/chrome/browser/engagement/site_engagement_service_unittest.cc
index 14f0e93..edd26f6 100644
--- a/chrome/browser/engagement/site_engagement_service_unittest.cc
+++ b/chrome/browser/engagement/site_engagement_service_unittest.cc
@@ -736,6 +736,10 @@ TEST_F(SiteEngagementServiceTest, CheckHistograms) {
histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementScoreHistogram,
0);
histograms.ExpectTotalCount(
+ SiteEngagementMetrics::kEngagementScoreHistogramHTTP, 0);
+ histograms.ExpectTotalCount(
+ SiteEngagementMetrics::kEngagementScoreHistogramHTTPS, 0);
+ histograms.ExpectTotalCount(
SiteEngagementMetrics::kOriginsWithMaxEngagementHistogram, 0);
histograms.ExpectTotalCount(
SiteEngagementMetrics::kOriginsWithMaxDailyEngagementHistogram, 0);
@@ -753,6 +757,10 @@ TEST_F(SiteEngagementServiceTest, CheckHistograms) {
0, 1);
histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementScoreHistogram,
0);
+ histograms.ExpectTotalCount(
+ SiteEngagementMetrics::kEngagementScoreHistogramHTTP, 0);
+ histograms.ExpectTotalCount(
+ SiteEngagementMetrics::kEngagementScoreHistogramHTTPS, 0);
histograms.ExpectUniqueSample(SiteEngagementMetrics::kMeanEngagementHistogram,
0, 1);
histograms.ExpectUniqueSample(
@@ -796,6 +804,10 @@ TEST_F(SiteEngagementServiceTest, CheckHistograms) {
// Recorded per origin.
histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementScoreHistogram,
1);
+ histograms.ExpectTotalCount(
+ SiteEngagementMetrics::kEngagementScoreHistogramHTTP, 0);
+ histograms.ExpectTotalCount(
+ SiteEngagementMetrics::kEngagementScoreHistogramHTTPS, 1);
histograms.ExpectUniqueSample(
SiteEngagementMetrics::kOriginsWithMaxEngagementHistogram, 0, 2);
histograms.ExpectUniqueSample(
@@ -861,6 +873,10 @@ TEST_F(SiteEngagementServiceTest, CheckHistograms) {
// Recorded per origin.
histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementScoreHistogram,
4);
+ histograms.ExpectTotalCount(
+ SiteEngagementMetrics::kEngagementScoreHistogramHTTP, 2);
+ histograms.ExpectTotalCount(
+ SiteEngagementMetrics::kEngagementScoreHistogramHTTPS, 2);
histograms.ExpectUniqueSample(
SiteEngagementMetrics::kOriginsWithMaxEngagementHistogram, 0, 3);
histograms.ExpectUniqueSample(
@@ -933,6 +949,10 @@ TEST_F(SiteEngagementServiceTest, CheckHistograms) {
4);
histograms.ExpectTotalCount(SiteEngagementMetrics::kEngagementScoreHistogram,
7);
+ histograms.ExpectTotalCount(
+ SiteEngagementMetrics::kEngagementScoreHistogramHTTP, 4);
+ histograms.ExpectTotalCount(
+ SiteEngagementMetrics::kEngagementScoreHistogramHTTPS, 3);
histograms.ExpectUniqueSample(
SiteEngagementMetrics::kOriginsWithMaxEngagementHistogram, 0, 4);
histograms.ExpectBucketCount(
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index 239659a..80fdff2 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -47080,6 +47080,30 @@ http://cs/file:chrome/histograms.xml - but prefer this file for new entries.
</summary>
</histogram>
+<histogram name="SiteEngagementService.EngagementScore.HTTP">
+ <owner>calamity@chromium.org</owner>
+ <owner>dominickn@chromium.org</owner>
+ <owner>felt@chromium.org</owner>
+ <summary>
+ Distribution of the engagement scores accumulated by a user, recorded at
+ startup per non-incognito profile, and then upon the first
+ engagement-increasing event every hour thereafter. Limited specifically to
+ HTTP URLs.
+ </summary>
+</histogram>
+
+<histogram name="SiteEngagementService.EngagementScore.HTTPS">
+ <owner>calamity@chromium.org</owner>
+ <owner>dominickn@chromium.org</owner>
+ <owner>felt@chromium.org</owner>
+ <summary>
+ Distribution of the engagement scores accumulated by a user, recorded at
+ startup per non-incognito profile, and then upon the first
+ engagement-increasing event every hour thereafter. Limited specifically to
+ HTTPS URLs.
+ </summary>
+</histogram>
+
<histogram name="SiteEngagementService.EngagementScoreBucket" units="%">
<owner>calamity@chromium.org</owner>
<summary>