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

Side by Side Diff: chrome/browser/engagement/site_engagement_metrics.cc

Issue 2633283002: Add a new histogram for EngagementScore to check whether it's zero (Closed)
Patch Set: Created 3 years, 11 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/browser/engagement/site_engagement_metrics.h" 5 #include "chrome/browser/engagement/site_engagement_metrics.h"
6 6
7 #include "base/metrics/histogram_macros.h" 7 #include "base/metrics/histogram_macros.h"
8 #include "base/strings/string_number_conversions.h" 8 #include "base/strings/string_number_conversions.h"
9 #include "chrome/browser/engagement/site_engagement_score.h"
9 10
10 namespace { 11 namespace {
11 12
12 // These numbers are used as suffixes for the 13 // These numbers are used as suffixes for the
13 // SiteEngagementService.EngagementScoreBucket_* histogram. If these bases 14 // SiteEngagementService.EngagementScoreBucket_* histogram. If these bases
14 // change, the EngagementScoreBuckets suffix in histograms.xml should be 15 // change, the EngagementScoreBuckets suffix in histograms.xml should be
15 // updated. 16 // updated.
16 const int kEngagementBucketHistogramBuckets[] = {0, 10, 20, 30, 40, 50, 17 const int kEngagementBucketHistogramBuckets[] = {0, 10, 20, 30, 40, 50,
17 60, 70, 80, 90, 100}; 18 60, 70, 80, 90, 100};
18 19
(...skipping 16 matching lines...) Expand all
35 36
36 const char SiteEngagementMetrics::kEngagementScoreHistogram[] = 37 const char SiteEngagementMetrics::kEngagementScoreHistogram[] =
37 "SiteEngagementService.EngagementScore"; 38 "SiteEngagementService.EngagementScore";
38 39
39 const char SiteEngagementMetrics::kEngagementScoreHistogramHTTP[] = 40 const char SiteEngagementMetrics::kEngagementScoreHistogramHTTP[] =
40 "SiteEngagementService.EngagementScore.HTTP"; 41 "SiteEngagementService.EngagementScore.HTTP";
41 42
42 const char SiteEngagementMetrics::kEngagementScoreHistogramHTTPS[] = 43 const char SiteEngagementMetrics::kEngagementScoreHistogramHTTPS[] =
43 "SiteEngagementService.EngagementScore.HTTPS"; 44 "SiteEngagementService.EngagementScore.HTTPS";
44 45
46 const char SiteEngagementMetrics::kEngagementScoreHistogramZero[] =
47 "SiteEngagementService.EngagementScore.Zero";
48
45 const char SiteEngagementMetrics::kOriginsWithMaxEngagementHistogram[] = 49 const char SiteEngagementMetrics::kOriginsWithMaxEngagementHistogram[] =
46 "SiteEngagementService.OriginsWithMaxEngagement"; 50 "SiteEngagementService.OriginsWithMaxEngagement";
47 51
48 const char SiteEngagementMetrics::kOriginsWithMaxDailyEngagementHistogram[] = 52 const char SiteEngagementMetrics::kOriginsWithMaxDailyEngagementHistogram[] =
49 "SiteEngagementService.OriginsWithMaxDailyEngagement"; 53 "SiteEngagementService.OriginsWithMaxDailyEngagement";
50 54
51 const char SiteEngagementMetrics::kPercentOriginsWithMaxEngagementHistogram[] = 55 const char SiteEngagementMetrics::kPercentOriginsWithMaxEngagementHistogram[] =
52 "SiteEngagementService.PercentOriginsWithMaxEngagement"; 56 "SiteEngagementService.PercentOriginsWithMaxEngagement";
53 57
54 const char SiteEngagementMetrics::kEngagementTypeHistogram[] = 58 const char SiteEngagementMetrics::kEngagementTypeHistogram[] =
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 return; 92 return;
89 93
90 // Total up all HTTP and HTTPS engagement so we can log the percentage of 94 // Total up all HTTP and HTTPS engagement so we can log the percentage of
91 // engagement to HTTPS origins. 95 // engagement to HTTPS origins.
92 double total_http_https_engagement = 0; 96 double total_http_https_engagement = 0;
93 double https_engagement = 0; 97 double https_engagement = 0;
94 std::map<int, int> score_buckets; 98 std::map<int, int> score_buckets;
95 for (size_t i = 0; i < arraysize(kEngagementBucketHistogramBuckets); ++i) 99 for (size_t i = 0; i < arraysize(kEngagementBucketHistogramBuckets); ++i)
96 score_buckets[kEngagementBucketHistogramBuckets[i]] = 0; 100 score_buckets[kEngagementBucketHistogramBuckets[i]] = 0;
97 101
102 const double threshold_0 = SiteEngagementScore::GetScoreCleanupThreshold();
98 for (const auto& value : score_map) { 103 for (const auto& value : score_map) {
99 double score = value.second; 104 double score = value.second;
100 UMA_HISTOGRAM_COUNTS_100(kEngagementScoreHistogram, score); 105 UMA_HISTOGRAM_COUNTS_100(kEngagementScoreHistogram, score);
106 UMA_HISTOGRAM_BOOLEAN(kEngagementScoreHistogramZero, score < threshold_0);
101 if (value.first.SchemeIs(url::kHttpsScheme)) { 107 if (value.first.SchemeIs(url::kHttpsScheme)) {
102 UMA_HISTOGRAM_COUNTS_100(kEngagementScoreHistogramHTTPS, score); 108 UMA_HISTOGRAM_COUNTS_100(kEngagementScoreHistogramHTTPS, score);
103 https_engagement += score; 109 https_engagement += score;
104 total_http_https_engagement += score; 110 total_http_https_engagement += score;
105 } else if (value.first.SchemeIs(url::kHttpScheme)) { 111 } else if (value.first.SchemeIs(url::kHttpScheme)) {
106 UMA_HISTOGRAM_COUNTS_100(kEngagementScoreHistogramHTTP, score); 112 UMA_HISTOGRAM_COUNTS_100(kEngagementScoreHistogramHTTP, score);
107 total_http_https_engagement += score; 113 total_http_https_engagement += score;
108 } 114 }
109 115
110 auto bucket = score_buckets.lower_bound(score); 116 auto bucket = score_buckets.lower_bound(score);
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 SiteEngagementMetrics::GetEngagementBucketHistogramNames() { 173 SiteEngagementMetrics::GetEngagementBucketHistogramNames() {
168 std::vector<std::string> histogram_names; 174 std::vector<std::string> histogram_names;
169 for (size_t i = 0; i < arraysize(kEngagementBucketHistogramBuckets); ++i) { 175 for (size_t i = 0; i < arraysize(kEngagementBucketHistogramBuckets); ++i) {
170 histogram_names.push_back( 176 histogram_names.push_back(
171 kEngagementBucketHistogramBase + 177 kEngagementBucketHistogramBase +
172 base::IntToString(kEngagementBucketHistogramBuckets[i])); 178 base::IntToString(kEngagementBucketHistogramBuckets[i]));
173 } 179 }
174 180
175 return histogram_names; 181 return histogram_names;
176 } 182 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698