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

Side by Side Diff: components/ntp_snippets/content_suggestions_metrics.cc

Issue 2886723002: [Zine] Add a metric to record number of visible sections on NTP. (Closed)
Patch Set: clean rebase. Created 3 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "components/ntp_snippets/content_suggestions_metrics.h" 5 #include "components/ntp_snippets/content_suggestions_metrics.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 #include <string> 8 #include <string>
9 #include <type_traits> 9 #include <type_traits>
10 10
11 #include "base/metrics/histogram.h" 11 #include "base/metrics/histogram.h"
12 #include "base/metrics/histogram_functions.h" 12 #include "base/metrics/histogram_functions.h"
13 #include "base/metrics/histogram_macros.h" 13 #include "base/metrics/histogram_macros.h"
14 #include "base/metrics/user_metrics.h" 14 #include "base/metrics/user_metrics.h"
15 #include "base/strings/stringprintf.h" 15 #include "base/strings/stringprintf.h"
16 16
17 namespace ntp_snippets { 17 namespace ntp_snippets {
18 namespace metrics { 18 namespace metrics {
19 19
20 namespace { 20 namespace {
21 21
22 const int kMaxSuggestionsPerCategory = 10; 22 const int kMaxSuggestionsPerCategory = 10;
23 const int kMaxSuggestionsTotal = 50; 23 const int kMaxSuggestionsTotal = 50;
24 const int kMaxCategories = 10; 24 const int kMaxCategories = 10;
25 25
26 const char kHistogramCountOnNtpOpened[] = 26 const char kHistogramCountOnNtpOpened[] =
27 "NewTabPage.ContentSuggestions.CountOnNtpOpened"; 27 "NewTabPage.ContentSuggestions.CountOnNtpOpened";
28 const char kHistogramSectionCountOnNtpOpened[] =
29 "NewTabPage.ContentSuggestions.SectionCountOnNtpOpened";
28 const char kHistogramShown[] = "NewTabPage.ContentSuggestions.Shown"; 30 const char kHistogramShown[] = "NewTabPage.ContentSuggestions.Shown";
29 const char kHistogramShownAge[] = "NewTabPage.ContentSuggestions.ShownAge"; 31 const char kHistogramShownAge[] = "NewTabPage.ContentSuggestions.ShownAge";
30 const char kHistogramShownScore[] = 32 const char kHistogramShownScore[] =
31 "NewTabPage.ContentSuggestions.ShownScoreNormalized"; 33 "NewTabPage.ContentSuggestions.ShownScoreNormalized";
32 const char kHistogramOpened[] = "NewTabPage.ContentSuggestions.Opened"; 34 const char kHistogramOpened[] = "NewTabPage.ContentSuggestions.Opened";
33 const char kHistogramOpenedAge[] = "NewTabPage.ContentSuggestions.OpenedAge"; 35 const char kHistogramOpenedAge[] = "NewTabPage.ContentSuggestions.OpenedAge";
34 const char kHistogramOpenedCategoryIndex[] = 36 const char kHistogramOpenedCategoryIndex[] =
35 "NewTabPage.ContentSuggestions.OpenedCategoryIndex"; 37 "NewTabPage.ContentSuggestions.OpenedCategoryIndex";
36 const char kHistogramOpenedScore[] = 38 const char kHistogramOpenedScore[] =
37 "NewTabPage.ContentSuggestions.OpenedScoreNormalized"; 39 "NewTabPage.ContentSuggestions.OpenedScoreNormalized";
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 UMA_HISTOGRAM_EXACT_LINEAR(kHistogramArticlesUsageTimeLocal, bucket, 207 UMA_HISTOGRAM_EXACT_LINEAR(kHistogramArticlesUsageTimeLocal, bucket,
206 kNumBuckets); 208 kNumBuckets);
207 209
208 base::RecordAction( 210 base::RecordAction(
209 base::UserMetricsAction("NewTabPage_ContentSuggestions_ArticlesUsage")); 211 base::UserMetricsAction("NewTabPage_ContentSuggestions_ArticlesUsage"));
210 } 212 }
211 213
212 } // namespace 214 } // namespace
213 215
214 void OnPageShown( 216 void OnPageShown(
215 const std::vector<std::pair<Category, int>>& suggestions_per_category) { 217 const std::vector<std::pair<Category, int>>& suggestions_per_category,
218 int visible_categories_count) {
216 int suggestions_total = 0; 219 int suggestions_total = 0;
217 for (const std::pair<Category, int>& item : suggestions_per_category) { 220 for (const std::pair<Category, int>& item : suggestions_per_category) {
218 LogCategoryHistogramPosition(kHistogramCountOnNtpOpened, item.first, 221 LogCategoryHistogramPosition(kHistogramCountOnNtpOpened, item.first,
219 item.second, kMaxSuggestionsPerCategory); 222 item.second, kMaxSuggestionsPerCategory);
220 suggestions_total += item.second; 223 suggestions_total += item.second;
221 } 224 }
222 UMA_HISTOGRAM_EXACT_LINEAR(kHistogramCountOnNtpOpened, suggestions_total, 225 UMA_HISTOGRAM_EXACT_LINEAR(kHistogramCountOnNtpOpened, suggestions_total,
223 kMaxSuggestionsTotal); 226 kMaxSuggestionsTotal);
227 UMA_HISTOGRAM_EXACT_LINEAR(kHistogramSectionCountOnNtpOpened,
228 visible_categories_count, kMaxCategories);
224 } 229 }
225 230
226 void OnSuggestionShown(int global_position, 231 void OnSuggestionShown(int global_position,
227 Category category, 232 Category category,
228 int position_in_category, 233 int position_in_category,
229 base::Time publish_date, 234 base::Time publish_date,
230 float score, 235 float score,
231 base::Time fetch_date) { 236 base::Time fetch_date) {
232 UMA_HISTOGRAM_EXACT_LINEAR(kHistogramShown, global_position, 237 UMA_HISTOGRAM_EXACT_LINEAR(kHistogramShown, global_position,
233 kMaxSuggestionsTotal); 238 kMaxSuggestionsTotal);
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 void RecordCategoryDismissed() { 380 void RecordCategoryDismissed() {
376 base::RecordAction(base::UserMetricsAction("Suggestions.Category.Dismissed")); 381 base::RecordAction(base::UserMetricsAction("Suggestions.Category.Dismissed"));
377 } 382 }
378 383
379 void RecordFetchAction() { 384 void RecordFetchAction() {
380 base::RecordAction(base::UserMetricsAction("Suggestions.Category.Fetch")); 385 base::RecordAction(base::UserMetricsAction("Suggestions.Category.Fetch"));
381 } 386 }
382 387
383 } // namespace metrics 388 } // namespace metrics
384 } // namespace ntp_snippets 389 } // namespace ntp_snippets
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698