| 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 const char kHistogramCategoryDismissed[] = | 52 const char kHistogramCategoryDismissed[] = |
| 52 "NewTabPage.ContentSuggestions.CategoryDismissed"; | 53 "NewTabPage.ContentSuggestions.CategoryDismissed"; |
| 53 | 54 |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 208 // bucket is increased. | 209 // bucket is increased. |
| 209 void RecordContentSuggestionsUsage() { | 210 void RecordContentSuggestionsUsage() { |
| 210 const int kBucketSizeMins = 20; | 211 const int kBucketSizeMins = 20; |
| 211 const int kNumBuckets = 24 * 60 / kBucketSizeMins; | 212 const int kNumBuckets = 24 * 60 / kBucketSizeMins; |
| 212 | 213 |
| 213 base::Time::Exploded now_exploded; | 214 base::Time::Exploded now_exploded; |
| 214 base::Time::Now().LocalExplode(&now_exploded); | 215 base::Time::Now().LocalExplode(&now_exploded); |
| 215 size_t bucket = | 216 size_t bucket = |
| 216 (now_exploded.hour * 60 + now_exploded.minute) / kBucketSizeMins; | 217 (now_exploded.hour * 60 + now_exploded.minute) / kBucketSizeMins; |
| 217 | 218 |
| 218 UMA_HISTOGRAM_ENUMERATION(kHistogramUsageTimeLocal, bucket, kNumBuckets); | 219 UMA_HISTOGRAM_ENUMERATION(kHistogramArticlesUsageTimeLocal, bucket, |
| 220 kNumBuckets); |
| 219 | 221 |
| 220 LOG(ERROR) << " ****************** Zine Usage"; | 222 base::RecordAction( |
| 223 base::UserMetricsAction("NewTabPage_ContentSuggestions_ArticlesUsage")); |
| 221 } | 224 } |
| 222 | 225 |
| 223 } // namespace | 226 } // namespace |
| 224 | 227 |
| 225 void OnPageShown( | 228 void OnPageShown( |
| 226 const std::vector<std::pair<Category, int>>& suggestions_per_category) { | 229 const std::vector<std::pair<Category, int>>& suggestions_per_category) { |
| 227 int suggestions_total = 0; | 230 int suggestions_total = 0; |
| 228 for (const std::pair<Category, int>& item : suggestions_per_category) { | 231 for (const std::pair<Category, int>& item : suggestions_per_category) { |
| 229 LogCategoryHistogramEnumeration(kHistogramCountOnNtpOpened, item.first, | 232 LogCategoryHistogramEnumeration(kHistogramCountOnNtpOpened, item.first, |
| 230 item.second, kMaxSuggestionsPerCategory); | 233 item.second, kMaxSuggestionsPerCategory); |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 341 } | 344 } |
| 342 | 345 |
| 343 void OnCategoryDismissed(Category category) { | 346 void OnCategoryDismissed(Category category) { |
| 344 UMA_HISTOGRAM_ENUMERATION(kHistogramCategoryDismissed, | 347 UMA_HISTOGRAM_ENUMERATION(kHistogramCategoryDismissed, |
| 345 static_cast<int>(GetHistogramCategory(category)), | 348 static_cast<int>(GetHistogramCategory(category)), |
| 346 static_cast<int>(HistogramCategories::COUNT)); | 349 static_cast<int>(HistogramCategories::COUNT)); |
| 347 } | 350 } |
| 348 | 351 |
| 349 } // namespace metrics | 352 } // namespace metrics |
| 350 } // namespace ntp_snippets | 353 } // namespace ntp_snippets |
| OLD | NEW |