diff options
Diffstat (limited to 'chromium/components/ntp_snippets/content_suggestions_metrics.cc')
-rw-r--r-- | chromium/components/ntp_snippets/content_suggestions_metrics.cc | 34 |
1 files changed, 23 insertions, 11 deletions
diff --git a/chromium/components/ntp_snippets/content_suggestions_metrics.cc b/chromium/components/ntp_snippets/content_suggestions_metrics.cc index 348a555694e..3be66f2a0eb 100644 --- a/chromium/components/ntp_snippets/content_suggestions_metrics.cc +++ b/chromium/components/ntp_snippets/content_suggestions_metrics.cc @@ -23,8 +23,8 @@ const int kMaxSuggestionsPerCategory = 10; const int kMaxSuggestionsTotal = 50; const int kMaxCategories = 10; -const char kHistogramCountOnNtpOpened[] = - "NewTabPage.ContentSuggestions.CountOnNtpOpened"; +const char kHistogramCountOnNtpOpenedIfVisible[] = + "NewTabPage.ContentSuggestions.CountOnNtpOpenedIfVisible"; const char kHistogramSectionCountOnNtpOpened[] = "NewTabPage.ContentSuggestions.SectionCountOnNtpOpened"; const char kHistogramShown[] = "NewTabPage.ContentSuggestions.Shown"; @@ -78,6 +78,7 @@ enum HistogramCategories { FOREIGN_TABS, ARTICLES, READING_LIST, + BREAKING_NEWS, // Insert new values here! COUNT }; @@ -107,6 +108,8 @@ HistogramCategories GetHistogramCategory(Category category) { return HistogramCategories::ARTICLES; case KnownCategories::READING_LIST: return HistogramCategories::READING_LIST; + case KnownCategories::BREAKING_NEWS: + return HistogramCategories::BREAKING_NEWS; case KnownCategories::LOCAL_CATEGORIES_COUNT: case KnownCategories::REMOTE_CATEGORIES_OFFSET: NOTREACHED(); @@ -137,6 +140,8 @@ std::string GetCategorySuffix(Category category) { return "Experimental"; case HistogramCategories::READING_LIST: return "ReadingList"; + case HistogramCategories::BREAKING_NEWS: + return "BreakingNews"; case HistogramCategories::COUNT: NOTREACHED(); break; @@ -213,17 +218,24 @@ void RecordContentSuggestionsUsage() { } // namespace -void OnPageShown( - const std::vector<std::pair<Category, int>>& suggestions_per_category, - int visible_categories_count) { +void OnPageShown(const std::vector<Category>& categories, + const std::vector<int>& suggestions_per_category, + const std::vector<bool>& is_category_visible) { + DCHECK_EQ(categories.size(), suggestions_per_category.size()); + DCHECK_EQ(categories.size(), is_category_visible.size()); int suggestions_total = 0; - for (const std::pair<Category, int>& item : suggestions_per_category) { - LogCategoryHistogramPosition(kHistogramCountOnNtpOpened, item.first, - item.second, kMaxSuggestionsPerCategory); - suggestions_total += item.second; + int visible_categories_count = 0; + for (size_t i = 0; i < categories.size(); ++i) { + if (is_category_visible[i]) { + LogCategoryHistogramPosition(kHistogramCountOnNtpOpenedIfVisible, + categories[i], suggestions_per_category[i], + kMaxSuggestionsPerCategory); + suggestions_total += suggestions_per_category[i]; + ++visible_categories_count; + } } - UMA_HISTOGRAM_EXACT_LINEAR(kHistogramCountOnNtpOpened, suggestions_total, - kMaxSuggestionsTotal); + UMA_HISTOGRAM_EXACT_LINEAR(kHistogramCountOnNtpOpenedIfVisible, + suggestions_total, kMaxSuggestionsTotal); UMA_HISTOGRAM_EXACT_LINEAR(kHistogramSectionCountOnNtpOpened, visible_categories_count, kMaxCategories); } |