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

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

Issue 2925053003: [NTP::Push] Adding BreakingNewsSuggestionsProvider (Closed)
Patch Set: sfiera@ comments. Created 3 years, 6 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
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 const char kHistogramCategoryDismissed[] = 61 const char kHistogramCategoryDismissed[] =
62 "NewTabPage.ContentSuggestions.CategoryDismissed"; 62 "NewTabPage.ContentSuggestions.CategoryDismissed";
63 const char kHistogramTimeSinceSuggestionFetched[] = 63 const char kHistogramTimeSinceSuggestionFetched[] =
64 "NewTabPage.ContentSuggestions.TimeSinceSuggestionFetched"; 64 "NewTabPage.ContentSuggestions.TimeSinceSuggestionFetched";
65 65
66 const char kPerCategoryHistogramFormat[] = "%s.%s"; 66 const char kPerCategoryHistogramFormat[] = "%s.%s";
67 67
68 // This mostly corresponds to the KnownCategories enum, but it is contiguous 68 // This mostly corresponds to the KnownCategories enum, but it is contiguous
69 // and contains exactly the values to be recorded in UMA. Don't remove or 69 // and contains exactly the values to be recorded in UMA. Don't remove or
70 // reorder elements, only add new ones at the end (before COUNT), and keep in 70 // reorder elements, only add new ones at the end (before COUNT), and keep in
71 // sync with ContentSuggestionsCategory in histograms.xml. 71 // sync with ContentSuggestionsCategory in histograms.xml.
jkrcal 2017/06/09 11:32:59 Sync with ContentSuggestionsCategory in histograms
mamir 2017/06/09 14:41:01 Done.
72 enum HistogramCategories { 72 enum HistogramCategories {
73 EXPERIMENTAL, 73 EXPERIMENTAL,
74 RECENT_TABS, 74 RECENT_TABS,
75 DOWNLOADS, 75 DOWNLOADS,
76 BOOKMARKS, 76 BOOKMARKS,
77 PHYSICAL_WEB_PAGES, 77 PHYSICAL_WEB_PAGES,
78 FOREIGN_TABS, 78 FOREIGN_TABS,
79 ARTICLES, 79 ARTICLES,
80 READING_LIST, 80 READING_LIST,
81 BREAKING_NEWS,
81 // Insert new values here! 82 // Insert new values here!
82 COUNT 83 COUNT
83 }; 84 };
84 85
85 HistogramCategories GetHistogramCategory(Category category) { 86 HistogramCategories GetHistogramCategory(Category category) {
86 static_assert( 87 static_assert(
87 std::is_same<decltype(category.id()), 88 std::is_same<decltype(category.id()),
88 typename std::underlying_type<KnownCategories>::type>::value, 89 typename std::underlying_type<KnownCategories>::type>::value,
89 "KnownCategories must have the same underlying type as category.id()"); 90 "KnownCategories must have the same underlying type as category.id()");
90 // Note: Since the underlying type of KnownCategories is int, it's legal to 91 // Note: Since the underlying type of KnownCategories is int, it's legal to
91 // cast from int to KnownCategories, even if the given value isn't listed in 92 // cast from int to KnownCategories, even if the given value isn't listed in
92 // the enumeration. The switch still makes sure that all known values are 93 // the enumeration. The switch still makes sure that all known values are
93 // listed here. 94 // listed here.
94 auto known_category = static_cast<KnownCategories>(category.id()); 95 auto known_category = static_cast<KnownCategories>(category.id());
95 switch (known_category) { 96 switch (known_category) {
96 case KnownCategories::RECENT_TABS: 97 case KnownCategories::RECENT_TABS:
97 return HistogramCategories::RECENT_TABS; 98 return HistogramCategories::RECENT_TABS;
98 case KnownCategories::DOWNLOADS: 99 case KnownCategories::DOWNLOADS:
99 return HistogramCategories::DOWNLOADS; 100 return HistogramCategories::DOWNLOADS;
100 case KnownCategories::BOOKMARKS: 101 case KnownCategories::BOOKMARKS:
101 return HistogramCategories::BOOKMARKS; 102 return HistogramCategories::BOOKMARKS;
102 case KnownCategories::PHYSICAL_WEB_PAGES: 103 case KnownCategories::PHYSICAL_WEB_PAGES:
103 return HistogramCategories::PHYSICAL_WEB_PAGES; 104 return HistogramCategories::PHYSICAL_WEB_PAGES;
104 case KnownCategories::FOREIGN_TABS: 105 case KnownCategories::FOREIGN_TABS:
105 return HistogramCategories::FOREIGN_TABS; 106 return HistogramCategories::FOREIGN_TABS;
106 case KnownCategories::ARTICLES: 107 case KnownCategories::ARTICLES:
107 return HistogramCategories::ARTICLES; 108 return HistogramCategories::ARTICLES;
108 case KnownCategories::READING_LIST: 109 case KnownCategories::READING_LIST:
109 return HistogramCategories::READING_LIST; 110 return HistogramCategories::READING_LIST;
111 case KnownCategories::BREAKING_NEWS:
112 return HistogramCategories::BREAKING_NEWS;
110 case KnownCategories::LOCAL_CATEGORIES_COUNT: 113 case KnownCategories::LOCAL_CATEGORIES_COUNT:
111 case KnownCategories::REMOTE_CATEGORIES_OFFSET: 114 case KnownCategories::REMOTE_CATEGORIES_OFFSET:
112 NOTREACHED(); 115 NOTREACHED();
113 return HistogramCategories::COUNT; 116 return HistogramCategories::COUNT;
114 } 117 }
115 // All other (unknown) categories go into a single "Experimental" bucket. 118 // All other (unknown) categories go into a single "Experimental" bucket.
116 return HistogramCategories::EXPERIMENTAL; 119 return HistogramCategories::EXPERIMENTAL;
117 } 120 }
118 121
119 // Each suffix here should correspond to an entry under histogram suffix 122 // Each suffix here should correspond to an entry under histogram suffix
(...skipping 10 matching lines...) Expand all
130 case HistogramCategories::PHYSICAL_WEB_PAGES: 133 case HistogramCategories::PHYSICAL_WEB_PAGES:
131 return "PhysicalWeb"; 134 return "PhysicalWeb";
132 case HistogramCategories::FOREIGN_TABS: 135 case HistogramCategories::FOREIGN_TABS:
133 return "ForeignTabs"; 136 return "ForeignTabs";
134 case HistogramCategories::ARTICLES: 137 case HistogramCategories::ARTICLES:
135 return "Articles"; 138 return "Articles";
136 case HistogramCategories::EXPERIMENTAL: 139 case HistogramCategories::EXPERIMENTAL:
137 return "Experimental"; 140 return "Experimental";
138 case HistogramCategories::READING_LIST: 141 case HistogramCategories::READING_LIST:
139 return "ReadingList"; 142 return "ReadingList";
143 case HistogramCategories::BREAKING_NEWS:
144 return "BreakingNews";
140 case HistogramCategories::COUNT: 145 case HistogramCategories::COUNT:
141 NOTREACHED(); 146 NOTREACHED();
142 break; 147 break;
143 } 148 }
144 return std::string(); 149 return std::string();
145 } 150 }
146 151
147 std::string GetCategoryHistogramName(const char* base_name, Category category) { 152 std::string GetCategoryHistogramName(const char* base_name, Category category) {
148 return base::StringPrintf(kPerCategoryHistogramFormat, base_name, 153 return base::StringPrintf(kPerCategoryHistogramFormat, base_name,
149 GetCategorySuffix(category).c_str()); 154 GetCategorySuffix(category).c_str());
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
380 void RecordCategoryDismissed() { 385 void RecordCategoryDismissed() {
381 base::RecordAction(base::UserMetricsAction("Suggestions.Category.Dismissed")); 386 base::RecordAction(base::UserMetricsAction("Suggestions.Category.Dismissed"));
382 } 387 }
383 388
384 void RecordFetchAction() { 389 void RecordFetchAction() {
385 base::RecordAction(base::UserMetricsAction("Suggestions.Category.Fetch")); 390 base::RecordAction(base::UserMetricsAction("Suggestions.Category.Fetch"));
386 } 391 }
387 392
388 } // namespace metrics 393 } // namespace metrics
389 } // namespace ntp_snippets 394 } // namespace ntp_snippets
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698