Commit d0f379fd authored by Carlos Knippschild's avatar Carlos Knippschild Committed by Commit Bot

Removed unused bucket of OfflinePages.PrefetchUsage

The "has pages" bucket of the OfflinePages.PrefetchUsage histogram never
had data collected into it. We finally decided to fully remove it as the
information it would provide doesn't seem to justify the extra costs and
changes associated with adding the proper trigger to report it.

Bug: 860830
Change-Id: I837e5f4e6184175841773450e44eaedde94513e3
Reviewed-on: https://chromium-review.googlesource.com/1157281Reviewed-by: default avatarDmitry Titov <dimich@chromium.org>
Reviewed-by: default avatarRamin Halavati <rhalavati@chromium.org>
Commit-Queue: Carlos Knippschild <carlosk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#579945}
parent 6e19c758
......@@ -47,7 +47,6 @@ class TestMetricsCollector : public OfflineMetricsCollector {
successful_offline_navigations_count_++;
}
void OnPrefetchEnabled() override {}
void OnHasPrefetchedPagesDetected() override {}
void OnSuccessfulPagePrefetch() override {}
void OnPrefetchedPageOpened() override {}
void ReportAccumulatedStats() override { report_stats_count_++; }
......
......@@ -16,7 +16,6 @@ void OfflineMetricsCollectorImpl::RegisterPrefs(PrefRegistrySimple* registry) {
registry->RegisterBooleanPref(prefs::kOfflineUsageOnlineObserved, false);
registry->RegisterBooleanPref(prefs::kOfflineUsageOfflineObserved, false);
registry->RegisterBooleanPref(prefs::kPrefetchUsageEnabledObserved, false);
registry->RegisterBooleanPref(prefs::kPrefetchUsageHasPagesObserved, false);
registry->RegisterBooleanPref(prefs::kPrefetchUsageFetchObserved, false);
registry->RegisterBooleanPref(prefs::kPrefetchUsageOpenObserved, false);
registry->RegisterInt64Pref(prefs::kOfflineUsageTrackingDay, 0L);
......@@ -26,7 +25,6 @@ void OfflineMetricsCollectorImpl::RegisterPrefs(PrefRegistrySimple* registry) {
registry->RegisterIntegerPref(prefs::kOfflineUsageOnlineCount, 0);
registry->RegisterIntegerPref(prefs::kOfflineUsageMixedCount, 0);
registry->RegisterIntegerPref(prefs::kPrefetchUsageEnabledCount, 0);
registry->RegisterIntegerPref(prefs::kPrefetchUsageHasPagesCount, 0);
registry->RegisterIntegerPref(prefs::kPrefetchUsageFetchedCount, 0);
registry->RegisterIntegerPref(prefs::kPrefetchUsageOpenedCount, 0);
registry->RegisterIntegerPref(prefs::kPrefetchUsageMixedCount, 0);
......@@ -53,10 +51,6 @@ void OfflineMetricsCollectorImpl::OnPrefetchEnabled() {
SetTrackingFlag(&prefetch_is_enabled_observed_);
}
void OfflineMetricsCollectorImpl::OnHasPrefetchedPagesDetected() {
SetTrackingFlag(&prefetch_has_pages_observed_);
}
void OfflineMetricsCollectorImpl::OnSuccessfulPagePrefetch() {
SetTrackingFlag(&prefetch_fetch_observed_);
}
......@@ -67,11 +61,10 @@ void OfflineMetricsCollectorImpl::OnPrefetchedPageOpened() {
void OfflineMetricsCollectorImpl::ReportAccumulatedStats() {
EnsureLoaded();
int total_day_count = unused_days_count_ + started_days_count_ +
offline_days_count_ + online_days_count_ +
mixed_days_count_ + prefetch_enable_count_ +
prefetch_has_pages_count_ + prefetch_fetched_count_ +
prefetch_opened_count_ + prefetch_mixed_count_;
int total_day_count =
unused_days_count_ + started_days_count_ + offline_days_count_ +
online_days_count_ + mixed_days_count_ + prefetch_enable_count_ +
prefetch_fetched_count_ + prefetch_opened_count_ + prefetch_mixed_count_;
// No accumulated daily usage, nothing to report.
if (total_day_count == 0)
return;
......@@ -91,8 +84,6 @@ void OfflineMetricsCollectorImpl::ReportAccumulatedStats() {
UMA_HISTOGRAM_BOOLEAN("OfflinePages.PrefetchEnabled", true);
}
for (int i = 0; i < prefetch_has_pages_count_; ++i)
ReportPrefetchUsageForOneDayToUma(PrefetchUsageType::HAS_PAGES);
for (int i = 0; i < prefetch_fetched_count_; ++i)
ReportPrefetchUsageForOneDayToUma(PrefetchUsageType::FETCHED_NEW_PAGES);
for (int i = 0; i < prefetch_opened_count_; ++i)
......@@ -107,7 +98,6 @@ void OfflineMetricsCollectorImpl::ReportAccumulatedStats() {
online_days_count_ = 0;
mixed_days_count_ = 0;
prefetch_enable_count_ = 0;
prefetch_has_pages_count_ = 0;
prefetch_fetched_count_ = 0;
prefetch_opened_count_ = 0;
prefetch_mixed_count_ = 0;
......@@ -129,8 +119,6 @@ void OfflineMetricsCollectorImpl::EnsureLoaded() {
prefetch_is_enabled_observed_ =
prefs_->GetBoolean(prefs::kPrefetchUsageEnabledObserved);
prefetch_has_pages_observed_ =
prefs_->GetBoolean(prefs::kPrefetchUsageHasPagesObserved);
prefetch_fetch_observed_ =
prefs_->GetBoolean(prefs::kPrefetchUsageFetchObserved);
prefetch_open_observed_ =
......@@ -149,8 +137,6 @@ void OfflineMetricsCollectorImpl::EnsureLoaded() {
prefetch_enable_count_ =
prefs_->GetInteger(prefs::kPrefetchUsageEnabledCount);
prefetch_has_pages_count_ =
prefs_->GetInteger(prefs::kPrefetchUsageHasPagesCount);
prefetch_fetched_count_ =
prefs_->GetInteger(prefs::kPrefetchUsageFetchedCount);
prefetch_opened_count_ = prefs_->GetInteger(prefs::kPrefetchUsageOpenedCount);
......@@ -165,8 +151,6 @@ void OfflineMetricsCollectorImpl::SaveToPrefs() {
online_navigation_observed_);
prefs_->SetBoolean(prefs::kPrefetchUsageEnabledObserved,
prefetch_is_enabled_observed_);
prefs_->SetBoolean(prefs::kPrefetchUsageHasPagesObserved,
prefetch_has_pages_observed_);
prefs_->SetBoolean(prefs::kPrefetchUsageFetchObserved,
prefetch_fetch_observed_);
prefs_->SetBoolean(prefs::kPrefetchUsageOpenObserved,
......@@ -180,8 +164,6 @@ void OfflineMetricsCollectorImpl::SaveToPrefs() {
prefs_->SetInteger(prefs::kOfflineUsageMixedCount, mixed_days_count_);
prefs_->SetInteger(prefs::kPrefetchUsageEnabledCount, prefetch_enable_count_);
prefs_->SetInteger(prefs::kPrefetchUsageHasPagesCount,
prefetch_has_pages_count_);
prefs_->SetInteger(prefs::kPrefetchUsageFetchedCount,
prefetch_fetched_count_);
prefs_->SetInteger(prefs::kPrefetchUsageOpenedCount, prefetch_opened_count_);
......@@ -228,8 +210,6 @@ bool OfflineMetricsCollectorImpl::UpdatePastDaysIfNeeded() {
prefetch_opened_count_++;
else if (prefetch_fetch_observed_)
prefetch_fetched_count_++;
else if (prefetch_has_pages_observed_)
prefetch_has_pages_count_++;
// The days between the day when tracking was done and the current one are
// 'unused'.
......@@ -249,7 +229,6 @@ bool OfflineMetricsCollectorImpl::UpdatePastDaysIfNeeded() {
offline_navigation_observed_ = false;
online_navigation_observed_ = false;
prefetch_is_enabled_observed_ = false;
prefetch_has_pages_observed_ = false;
prefetch_fetch_observed_ = false;
prefetch_open_observed_ = false;
......
......@@ -47,7 +47,7 @@ class OfflineMetricsCollectorImpl : public OfflineMetricsCollector {
static void RegisterPrefs(PrefRegistrySimple* registry);
// This enum is used for UMA reporting. It is used to report the kind of
// Prefetch usage per day and corresponds to OfflinePagesOfflineUsage in
// Offline Pages usage per day and corresponds to OfflinePagesOfflineUsage in
// enums.xml.
// NOTE: because this is used for UMA reporting, these values should not be
// changed or reused; new values should be appended immediately before the
......@@ -74,7 +74,8 @@ class OfflineMetricsCollectorImpl : public OfflineMetricsCollector {
// accordingly.
enum class PrefetchUsageType {
// Prefetch subsystem has unexpired prefetched pages.
HAS_PAGES = 0,
// Deprecated: Not useful enough to justify its reporting complexities.
DEPRECATED_HAS_PAGES = 0,
// New pages has been fetched during the day.
FETCHED_NEW_PAGES = 1,
// The prefetched offline pages were opened during the day.
......@@ -92,7 +93,6 @@ class OfflineMetricsCollectorImpl : public OfflineMetricsCollector {
void OnSuccessfulNavigationOnline() override;
void OnSuccessfulNavigationOffline() override;
void OnPrefetchEnabled() override;
void OnHasPrefetchedPagesDetected() override;
void OnSuccessfulPagePrefetch() override;
void OnPrefetchedPageOpened() override;
void ReportAccumulatedStats() override;
......@@ -130,7 +130,6 @@ class OfflineMetricsCollectorImpl : public OfflineMetricsCollector {
// observed during the day. At the end of the day, they are used to increment
// corresponding prefetch counters.
bool prefetch_is_enabled_observed_ = false;
bool prefetch_has_pages_observed_ = false;
bool prefetch_fetch_observed_ = false;
bool prefetch_open_observed_ = false;
......@@ -150,7 +149,6 @@ class OfflineMetricsCollectorImpl : public OfflineMetricsCollector {
int mixed_days_count_ = 0;
int prefetch_enable_count_ = 0;
int prefetch_has_pages_count_ = 0;
int prefetch_fetched_count_ = 0;
int prefetch_opened_count_ = 0;
int prefetch_mixed_count_ = 0;
......
......@@ -63,7 +63,6 @@ TEST_F(OfflineMetricsCollectorTest, CheckCleanInit) {
EXPECT_EQ(false, prefs().GetBoolean(prefs::kOfflineUsageOnlineObserved));
EXPECT_EQ(false, prefs().GetBoolean(prefs::kPrefetchUsageEnabledObserved));
EXPECT_EQ(false, prefs().GetBoolean(prefs::kPrefetchUsageHasPagesObserved));
EXPECT_EQ(false, prefs().GetBoolean(prefs::kPrefetchUsageFetchObserved));
EXPECT_EQ(false, prefs().GetBoolean(prefs::kPrefetchUsageOpenObserved));
......@@ -74,7 +73,6 @@ TEST_F(OfflineMetricsCollectorTest, CheckCleanInit) {
EXPECT_EQ(0, prefs().GetInteger(prefs::kOfflineUsageMixedCount));
EXPECT_EQ(0, prefs().GetInteger(prefs::kPrefetchUsageEnabledCount));
EXPECT_EQ(0, prefs().GetInteger(prefs::kPrefetchUsageHasPagesCount));
EXPECT_EQ(0, prefs().GetInteger(prefs::kPrefetchUsageFetchedCount));
EXPECT_EQ(0, prefs().GetInteger(prefs::kPrefetchUsageOpenedCount));
EXPECT_EQ(0, prefs().GetInteger(prefs::kPrefetchUsageMixedCount));
......@@ -119,22 +117,14 @@ TEST_F(OfflineMetricsCollectorTest, SetTrackingFlags) {
TEST_F(OfflineMetricsCollectorTest, SetTrackingFlagsPrefech) {
collector()->OnPrefetchEnabled();
EXPECT_EQ(true, prefs().GetBoolean(prefs::kPrefetchUsageEnabledObserved));
EXPECT_EQ(false, prefs().GetBoolean(prefs::kPrefetchUsageHasPagesObserved));
EXPECT_EQ(false, prefs().GetBoolean(prefs::kPrefetchUsageFetchObserved));
EXPECT_EQ(false, prefs().GetBoolean(prefs::kPrefetchUsageOpenObserved));
collector()->OnHasPrefetchedPagesDetected();
EXPECT_EQ(true, prefs().GetBoolean(prefs::kPrefetchUsageEnabledObserved));
EXPECT_EQ(true, prefs().GetBoolean(prefs::kPrefetchUsageHasPagesObserved));
EXPECT_EQ(false, prefs().GetBoolean(prefs::kPrefetchUsageFetchObserved));
EXPECT_EQ(false, prefs().GetBoolean(prefs::kPrefetchUsageOpenObserved));
collector()->OnSuccessfulPagePrefetch();
EXPECT_EQ(true, prefs().GetBoolean(prefs::kPrefetchUsageEnabledObserved));
EXPECT_EQ(true, prefs().GetBoolean(prefs::kPrefetchUsageHasPagesObserved));
EXPECT_EQ(true, prefs().GetBoolean(prefs::kPrefetchUsageFetchObserved));
EXPECT_EQ(false, prefs().GetBoolean(prefs::kPrefetchUsageOpenObserved));
collector()->OnPrefetchedPageOpened();
EXPECT_EQ(true, prefs().GetBoolean(prefs::kPrefetchUsageEnabledObserved));
EXPECT_EQ(true, prefs().GetBoolean(prefs::kPrefetchUsageHasPagesObserved));
EXPECT_EQ(true, prefs().GetBoolean(prefs::kPrefetchUsageFetchObserved));
EXPECT_EQ(true, prefs().GetBoolean(prefs::kPrefetchUsageOpenObserved));
}
......@@ -200,39 +190,33 @@ TEST_F(OfflineMetricsCollectorTest, RestoreFromPrefs) {
TEST_F(OfflineMetricsCollectorTest, RestoreFromPrefsPrefetch) {
collector()->OnPrefetchEnabled();
EXPECT_EQ(true, prefs().GetBoolean(prefs::kPrefetchUsageEnabledObserved));
EXPECT_EQ(false, prefs().GetBoolean(prefs::kPrefetchUsageHasPagesObserved));
EXPECT_EQ(false, prefs().GetBoolean(prefs::kPrefetchUsageFetchObserved));
EXPECT_EQ(false, prefs().GetBoolean(prefs::kPrefetchUsageOpenObserved));
prefs().SetInteger(prefs::kPrefetchUsageEnabledCount, 1);
prefs().SetInteger(prefs::kPrefetchUsageHasPagesCount, 2);
prefs().SetInteger(prefs::kPrefetchUsageFetchedCount, 3);
prefs().SetInteger(prefs::kPrefetchUsageOpenedCount, 4);
prefs().SetInteger(prefs::kPrefetchUsageMixedCount, 5);
prefs().SetInteger(prefs::kPrefetchUsageFetchedCount, 2);
prefs().SetInteger(prefs::kPrefetchUsageOpenedCount, 3);
prefs().SetInteger(prefs::kPrefetchUsageMixedCount, 4);
Reload();
collector()->OnSuccessfulPagePrefetch();
EXPECT_EQ(true, prefs().GetBoolean(prefs::kPrefetchUsageEnabledObserved));
EXPECT_EQ(false, prefs().GetBoolean(prefs::kPrefetchUsageHasPagesObserved));
EXPECT_EQ(true, prefs().GetBoolean(prefs::kPrefetchUsageFetchObserved));
EXPECT_EQ(false, prefs().GetBoolean(prefs::kPrefetchUsageOpenObserved));
collector()->ReportAccumulatedStats();
histograms().ExpectBucketCount("OfflinePages.PrefetchEnabled", true, 1);
histograms().ExpectBucketCount("OfflinePages.PrefetchUsage",
0 /* PrefetchUsageType::HAS_PAGES */, 2);
histograms().ExpectBucketCount("OfflinePages.PrefetchUsage",
1 /* PrefetchUsageType::FETCHED_NEW_PAGES */,
3);
2);
histograms().ExpectBucketCount("OfflinePages.PrefetchUsage",
2 /* PrefetchUsageType::OPENED_PAGES */, 4);
2 /* PrefetchUsageType::OPENED_PAGES */, 3);
histograms().ExpectBucketCount(
"OfflinePages.PrefetchUsage",
3 /* PrefetchUsageType::FETCHED_AND_OPENED_PAGES */, 5);
3 /* PrefetchUsageType::FETCHED_AND_OPENED_PAGES */, 4);
// After reporting, counters should be reset.
EXPECT_EQ(0, prefs().GetInteger(prefs::kPrefetchUsageEnabledCount));
EXPECT_EQ(0, prefs().GetInteger(prefs::kPrefetchUsageHasPagesCount));
EXPECT_EQ(0, prefs().GetInteger(prefs::kPrefetchUsageFetchedCount));
EXPECT_EQ(0, prefs().GetInteger(prefs::kPrefetchUsageOpenedCount));
EXPECT_EQ(0, prefs().GetInteger(prefs::kPrefetchUsageMixedCount));
......@@ -314,17 +298,13 @@ TEST_F(OfflineMetricsCollectorTest, OverDayBoundaryPrefetch) {
collector()->OnPrefetchEnabled();
test_clock().SetNow(start + base::TimeDelta::FromDays(2));
collector()->OnHasPrefetchedPagesDetected();
test_clock().SetNow(start + base::TimeDelta::FromDays(3));
collector()->OnSuccessfulPagePrefetch();
test_clock().SetNow(start + base::TimeDelta::FromDays(4));
test_clock().SetNow(start + base::TimeDelta::FromDays(3));
collector()->OnPrefetchedPageOpened();
test_clock().SetNow(start + base::TimeDelta::FromDays(5));
test_clock().SetNow(start + base::TimeDelta::FromDays(4));
collector()->OnPrefetchEnabled();
collector()->OnHasPrefetchedPagesDetected();
collector()->OnSuccessfulPagePrefetch();
collector()->OnPrefetchedPageOpened();
......@@ -334,8 +314,6 @@ TEST_F(OfflineMetricsCollectorTest, OverDayBoundaryPrefetch) {
// Force collector to report stats and observe them reported correctly.
collector()->ReportAccumulatedStats();
histograms().ExpectBucketCount("OfflinePages.PrefetchEnabled", true, 3);
histograms().ExpectBucketCount("OfflinePages.PrefetchUsage",
0 /* PrefetchUsageType::HAS_PAGES */, 1);
histograms().ExpectBucketCount("OfflinePages.PrefetchUsage",
1 /* PrefetchUsageType::FETCHED_NEW_PAGES */,
1);
......
......@@ -696,12 +696,11 @@ const char* temporary_incognito_whitelist[] = {
#if BUILDFLAG(ENABLE_OFFLINE_PAGES)
prefs::kOfflinePrefetchBackoff, prefs::kOfflineUsageStartObserved,
prefs::kOfflineUsageOnlineObserved, prefs::kOfflineUsageOfflineObserved,
prefs::kPrefetchUsageEnabledObserved, prefs::kPrefetchUsageHasPagesObserved,
prefs::kPrefetchUsageFetchObserved, prefs::kPrefetchUsageOpenObserved,
prefs::kOfflineUsageTrackingDay, prefs::kOfflineUsageUnusedCount,
prefs::kOfflineUsageStartedCount, prefs::kOfflineUsageOfflineCount,
prefs::kOfflineUsageOnlineCount, prefs::kOfflineUsageMixedCount,
prefs::kPrefetchUsageEnabledCount, prefs::kPrefetchUsageHasPagesCount,
prefs::kPrefetchUsageEnabledObserved, prefs::kPrefetchUsageFetchObserved,
prefs::kPrefetchUsageOpenObserved, prefs::kOfflineUsageTrackingDay,
prefs::kOfflineUsageUnusedCount, prefs::kOfflineUsageStartedCount,
prefs::kOfflineUsageOfflineCount, prefs::kOfflineUsageOnlineCount,
prefs::kOfflineUsageMixedCount, prefs::kPrefetchUsageEnabledCount,
prefs::kPrefetchUsageFetchedCount, prefs::kPrefetchUsageOpenedCount,
prefs::kPrefetchUsageMixedCount,
#endif
......
......@@ -2529,8 +2529,6 @@ const char kOfflineUsageOfflineObserved[] = "offline_pages.offline_observed";
// Boolean flags indicating state of a prefetch subsystem during a day.
const char kPrefetchUsageEnabledObserved[] =
"offline_pages.prefetch_enabled_observed";
const char kPrefetchUsageHasPagesObserved[] =
"offline_pages.prefetch_has_pages_observed";
const char kPrefetchUsageFetchObserved[] =
"offline_pages.prefetch_fetch_observed";
const char kPrefetchUsageOpenObserved[] =
......@@ -2550,8 +2548,6 @@ const char kOfflineUsageMixedCount[] = "offline_pages.mixed_count";
// likely a network connection, these counters are reported via UMA and reset.
const char kPrefetchUsageEnabledCount[] =
"offline_pages.prefetch_enabled_count";
const char kPrefetchUsageHasPagesCount[] =
"offline_pages.prefetch_has_pages_count";
const char kPrefetchUsageFetchedCount[] =
"offline_pages.prefetch_fetched_count";
const char kPrefetchUsageOpenedCount[] = "offline_pages.prefetch_opened_count";
......
......@@ -883,7 +883,6 @@ extern const char kOfflineUsageStartObserved[];
extern const char kOfflineUsageOnlineObserved[];
extern const char kOfflineUsageOfflineObserved[];
extern const char kPrefetchUsageEnabledObserved[];
extern const char kPrefetchUsageHasPagesObserved[];
extern const char kPrefetchUsageFetchObserved[];
extern const char kPrefetchUsageOpenObserved[];
extern const char kOfflineUsageTrackingDay[];
......@@ -893,7 +892,6 @@ extern const char kOfflineUsageOfflineCount[];
extern const char kOfflineUsageOnlineCount[];
extern const char kOfflineUsageMixedCount[];
extern const char kPrefetchUsageEnabledCount[];
extern const char kPrefetchUsageHasPagesCount[];
extern const char kPrefetchUsageFetchedCount[];
extern const char kPrefetchUsageOpenedCount[];
extern const char kPrefetchUsageMixedCount[];
......
......@@ -35,10 +35,6 @@ class OfflineMetricsCollector {
// A day when it happens is reported as 'prefetch enabled' day.
virtual void OnPrefetchEnabled() = 0;
// A new suggestion URL is received. A day when it happened is reported as
// 'attempted prefetch' day.
virtual void OnHasPrefetchedPagesDetected() = 0;
// A page was successfully prefetched. A day when it happens is reported as
// 'successful prefetch' day.
virtual void OnSuccessfulPagePrefetch() = 0;
......
......@@ -21,7 +21,6 @@ class TestOfflineMetricsCollector : public OfflineMetricsCollector {
void OnSuccessfulNavigationOnline() override {}
void OnSuccessfulNavigationOffline() override {}
void OnPrefetchEnabled() override {}
void OnHasPrefetchedPagesDetected() override {}
void OnSuccessfulPagePrefetch() override {}
void OnPrefetchedPageOpened() override {}
void ReportAccumulatedStats() override {}
......
......@@ -34998,8 +34998,11 @@ Called by update_net_trust_anchors.py.-->
</enum>
<enum name="OfflinePagesPrefetchUsage">
<int value="0" label="Has prefetched pages">
Reported when Offline Model DB is loaded.
<int value="0" label="Deprecated: Has prefetched pages">
<obsolete>
Not useful enough to justify its reporting complexities.
</obsolete>
Deprecated: Reported when Offline Model DB is loaded.
</int>
<int value="1" label="Only fetched new pages">
Reported when at least one page was prefetched in a day, but none opened.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment