Chromium Code Reviews| 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 |
| 16 using base::RecordAction; | |
| 17 using base::UserMetricsAction; | |
|
Marc Treib
2016/11/17 11:10:23
nit: I'd prefer specifying the "base::" in the one
markusheintz_
2016/11/17 13:48:47
done
| |
| 18 | |
| 15 namespace ntp_snippets { | 19 namespace ntp_snippets { |
| 16 namespace metrics { | 20 namespace metrics { |
| 17 | 21 |
| 18 namespace { | 22 namespace { |
| 19 | 23 |
| 20 const int kMaxSuggestionsPerCategory = 10; | 24 const int kMaxSuggestionsPerCategory = 10; |
| 21 const int kMaxSuggestionsTotal = 50; | 25 const int kMaxSuggestionsTotal = 50; |
| 22 | 26 |
| 23 const char kHistogramCountOnNtpOpened[] = | 27 const char kHistogramCountOnNtpOpened[] = |
| 24 "NewTabPage.ContentSuggestions.CountOnNtpOpened"; | 28 "NewTabPage.ContentSuggestions.CountOnNtpOpened"; |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 166 // bucket is increased. | 170 // bucket is increased. |
| 167 void RecordContentSuggestionsUsage() { | 171 void RecordContentSuggestionsUsage() { |
| 168 const int kBucketSizeMins = 20; | 172 const int kBucketSizeMins = 20; |
| 169 const int kNumBuckets = 24 * 60 / kBucketSizeMins; | 173 const int kNumBuckets = 24 * 60 / kBucketSizeMins; |
| 170 | 174 |
| 171 base::Time::Exploded now_exploded; | 175 base::Time::Exploded now_exploded; |
| 172 base::Time::Now().LocalExplode(&now_exploded); | 176 base::Time::Now().LocalExplode(&now_exploded); |
| 173 size_t bucket = | 177 size_t bucket = |
| 174 (now_exploded.hour * 60 + now_exploded.minute) / kBucketSizeMins; | 178 (now_exploded.hour * 60 + now_exploded.minute) / kBucketSizeMins; |
| 175 | 179 |
| 176 UMA_HISTOGRAM_ENUMERATION(kHistogramUsageTimeLocal, bucket, kNumBuckets); | 180 UMA_HISTOGRAM_ENUMERATION(kHistogramArticlesUsageTimeLocal, bucket, |
|
Marc Treib
2016/11/17 11:10:23
Bad rebase? You renamed the constant here, but not
markusheintz_
2016/11/17 13:48:46
Done.
| |
| 181 kNumBuckets); | |
| 177 | 182 |
| 178 LOG(ERROR) << " ****************** Zine Usage"; | 183 RecordAction( |
| 184 UserMetricsAction("NewTabPage_ContentSuggestions_ArticlesUsageCount")); | |
|
Marc Treib
2016/11/17 11:10:23
"Count" is implied by the fact that it's a UserAct
markusheintz_
2016/11/17 13:48:46
Done.
| |
| 179 } | 185 } |
| 180 | 186 |
| 181 } // namespace | 187 } // namespace |
| 182 | 188 |
| 183 void OnPageShown( | 189 void OnPageShown( |
| 184 const std::vector<std::pair<Category, int>>& suggestions_per_category) { | 190 const std::vector<std::pair<Category, int>>& suggestions_per_category) { |
| 185 int suggestions_total = 0; | 191 int suggestions_total = 0; |
| 186 for (const std::pair<Category, int>& item : suggestions_per_category) { | 192 for (const std::pair<Category, int>& item : suggestions_per_category) { |
| 187 LogCategoryHistogramEnumeration(kHistogramCountOnNtpOpened, item.first, | 193 LogCategoryHistogramEnumeration(kHistogramCountOnNtpOpened, item.first, |
| 188 item.second, kMaxSuggestionsPerCategory); | 194 item.second, kMaxSuggestionsPerCategory); |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 293 | 299 |
| 294 void OnMoreButtonClicked(Category category, int position) { | 300 void OnMoreButtonClicked(Category category, int position) { |
| 295 // The "more" card can appear in addition to the actual suggestions, so add | 301 // The "more" card can appear in addition to the actual suggestions, so add |
| 296 // one extra bucket to this histogram. | 302 // one extra bucket to this histogram. |
| 297 LogCategoryHistogramEnumeration(kHistogramMoreButtonClicked, category, | 303 LogCategoryHistogramEnumeration(kHistogramMoreButtonClicked, category, |
| 298 position, kMaxSuggestionsPerCategory + 1); | 304 position, kMaxSuggestionsPerCategory + 1); |
| 299 } | 305 } |
| 300 | 306 |
| 301 } // namespace metrics | 307 } // namespace metrics |
| 302 } // namespace ntp_snippets | 308 } // namespace ntp_snippets |
| OLD | NEW |