OLD | NEW |
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 <string> | 7 #include <string> |
8 #include <type_traits> | 8 #include <type_traits> |
9 | 9 |
10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
11 #include "base/metrics/histogram_macros.h" | 11 #include "base/metrics/histogram_macros.h" |
| 12 #include "base/metrics/user_metrics.h" |
12 #include "base/strings/stringprintf.h" | 13 #include "base/strings/stringprintf.h" |
13 #include "base/template_util.h" | 14 #include "base/template_util.h" |
14 | 15 |
15 namespace ntp_snippets { | 16 namespace ntp_snippets { |
16 namespace metrics { | 17 namespace metrics { |
17 | 18 |
18 namespace { | 19 namespace { |
19 | 20 |
20 const int kMaxSuggestionsPerCategory = 10; | 21 const int kMaxSuggestionsPerCategory = 10; |
21 const int kMaxSuggestionsTotal = 50; | 22 const int kMaxSuggestionsTotal = 50; |
(...skipping 11 matching lines...) Expand all Loading... |
33 "NewTabPage.ContentSuggestions.OpenDisposition"; | 34 "NewTabPage.ContentSuggestions.OpenDisposition"; |
34 const char kHistogramMenuOpened[] = "NewTabPage.ContentSuggestions.MenuOpened"; | 35 const char kHistogramMenuOpened[] = "NewTabPage.ContentSuggestions.MenuOpened"; |
35 const char kHistogramMenuOpenedAge[] = | 36 const char kHistogramMenuOpenedAge[] = |
36 "NewTabPage.ContentSuggestions.MenuOpenedAge"; | 37 "NewTabPage.ContentSuggestions.MenuOpenedAge"; |
37 const char kHistogramMenuOpenedScore[] = | 38 const char kHistogramMenuOpenedScore[] = |
38 "NewTabPage.ContentSuggestions.MenuOpenedScore"; | 39 "NewTabPage.ContentSuggestions.MenuOpenedScore"; |
39 const char kHistogramDismissedUnvisited[] = | 40 const char kHistogramDismissedUnvisited[] = |
40 "NewTabPage.ContentSuggestions.DismissedUnvisited"; | 41 "NewTabPage.ContentSuggestions.DismissedUnvisited"; |
41 const char kHistogramDismissedVisited[] = | 42 const char kHistogramDismissedVisited[] = |
42 "NewTabPage.ContentSuggestions.DismissedVisited"; | 43 "NewTabPage.ContentSuggestions.DismissedVisited"; |
43 const char kHistogramUsageTimeLocal[] = | 44 const char kHistogramArticlesUsageTimeLocal[] = |
44 "NewTabPage.ContentSuggestions.UsageTimeLocal"; | 45 "NewTabPage.ContentSuggestions.UsageTimeLocal"; |
45 const char kHistogramVisitDuration[] = | 46 const char kHistogramVisitDuration[] = |
46 "NewTabPage.ContentSuggestions.VisitDuration"; | 47 "NewTabPage.ContentSuggestions.VisitDuration"; |
47 const char kHistogramMoreButtonShown[] = | 48 const char kHistogramMoreButtonShown[] = |
48 "NewTabPage.ContentSuggestions.MoreButtonShown"; | 49 "NewTabPage.ContentSuggestions.MoreButtonShown"; |
49 const char kHistogramMoreButtonClicked[] = | 50 const char kHistogramMoreButtonClicked[] = |
50 "NewTabPage.ContentSuggestions.MoreButtonClicked"; | 51 "NewTabPage.ContentSuggestions.MoreButtonClicked"; |
51 | 52 |
52 const char kPerCategoryHistogramFormat[] = "%s.%s"; | 53 const char kPerCategoryHistogramFormat[] = "%s.%s"; |
53 | 54 |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
166 // bucket is increased. | 167 // bucket is increased. |
167 void RecordContentSuggestionsUsage() { | 168 void RecordContentSuggestionsUsage() { |
168 const int kBucketSizeMins = 20; | 169 const int kBucketSizeMins = 20; |
169 const int kNumBuckets = 24 * 60 / kBucketSizeMins; | 170 const int kNumBuckets = 24 * 60 / kBucketSizeMins; |
170 | 171 |
171 base::Time::Exploded now_exploded; | 172 base::Time::Exploded now_exploded; |
172 base::Time::Now().LocalExplode(&now_exploded); | 173 base::Time::Now().LocalExplode(&now_exploded); |
173 size_t bucket = | 174 size_t bucket = |
174 (now_exploded.hour * 60 + now_exploded.minute) / kBucketSizeMins; | 175 (now_exploded.hour * 60 + now_exploded.minute) / kBucketSizeMins; |
175 | 176 |
176 UMA_HISTOGRAM_ENUMERATION(kHistogramUsageTimeLocal, bucket, kNumBuckets); | 177 UMA_HISTOGRAM_ENUMERATION(kHistogramArticlesUsageTimeLocal, bucket, |
| 178 kNumBuckets); |
177 | 179 |
178 LOG(ERROR) << " ****************** Zine Usage"; | 180 base::RecordAction( |
| 181 base::UserMetricsAction("NewTabPage_ContentSuggestions_ArticlesUsage")); |
179 } | 182 } |
180 | 183 |
181 } // namespace | 184 } // namespace |
182 | 185 |
183 void OnPageShown( | 186 void OnPageShown( |
184 const std::vector<std::pair<Category, int>>& suggestions_per_category) { | 187 const std::vector<std::pair<Category, int>>& suggestions_per_category) { |
185 int suggestions_total = 0; | 188 int suggestions_total = 0; |
186 for (const std::pair<Category, int>& item : suggestions_per_category) { | 189 for (const std::pair<Category, int>& item : suggestions_per_category) { |
187 LogCategoryHistogramEnumeration(kHistogramCountOnNtpOpened, item.first, | 190 LogCategoryHistogramEnumeration(kHistogramCountOnNtpOpened, item.first, |
188 item.second, kMaxSuggestionsPerCategory); | 191 item.second, kMaxSuggestionsPerCategory); |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
293 | 296 |
294 void OnMoreButtonClicked(Category category, int position) { | 297 void OnMoreButtonClicked(Category category, int position) { |
295 // The "more" card can appear in addition to the actual suggestions, so add | 298 // The "more" card can appear in addition to the actual suggestions, so add |
296 // one extra bucket to this histogram. | 299 // one extra bucket to this histogram. |
297 LogCategoryHistogramEnumeration(kHistogramMoreButtonClicked, category, | 300 LogCategoryHistogramEnumeration(kHistogramMoreButtonClicked, category, |
298 position, kMaxSuggestionsPerCategory + 1); | 301 position, kMaxSuggestionsPerCategory + 1); |
299 } | 302 } |
300 | 303 |
301 } // namespace metrics | 304 } // namespace metrics |
302 } // namespace ntp_snippets | 305 } // namespace ntp_snippets |
OLD | NEW |