Commit b13aa4a2 authored by Tibor Goldschwendt's avatar Tibor Goldschwendt Committed by Commit Bot

[ntp][modules] Log histogram for module visibility

The new NewTabPage.Modules.Visible lets us track the ratio of NTP loads
with modules visible.

Bug: 1135393
Change-Id: I15a9fd064b7e189420e2eac2e9cecc72587f8fc1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2454733
Commit-Queue: Tibor Goldschwendt <tiborg@chromium.org>
Auto-Submit: Tibor Goldschwendt <tiborg@chromium.org>
Reviewed-by: default avatarWeilun Shi <sweilun@chromium.org>
Reviewed-by: default avatarIlya Sherman <isherman@chromium.org>
Reviewed-by: default avatarMoe Ahmadi <mahmadi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#815244}
parent bca78b86
......@@ -614,6 +614,10 @@ void NTPUserDataLogger::LogModuleUsage(const std::string& id) {
base::UmaHistogramExactLinear("NewTabPage.Modules.Usage." + id, 1, 1);
}
void NTPUserDataLogger::SetModulesVisible(bool visible) {
modules_visible_ = visible;
}
NTPUserDataLogger::NTPUserDataLogger(content::WebContents* contents)
: content::WebContentsObserver(contents),
has_emitted_(false),
......@@ -739,6 +743,11 @@ void NTPUserDataLogger::EmitNtpStatistics(base::TimeDelta load_time) {
}
}
if (base::FeatureList::IsEnabled(ntp_features::kModules)) {
base::UmaHistogramBoolean("NewTabPage.Modules.VisibleOnNTPLoad",
modules_visible_);
}
has_emitted_ = true;
during_startup_ = false;
}
......
......@@ -78,6 +78,9 @@ class NTPUserDataLogger
// Logs a navigation on one of the NTP tiles by a given impression.
void LogMostVisitedNavigation(const ntp_tiles::NTPTileImpression& impression);
// Sets visibility of modules to be later logged.
void SetModulesVisible(bool visible);
protected:
explicit NTPUserDataLogger(content::WebContents* contents);
......@@ -145,6 +148,8 @@ class NTPUserDataLogger
bool should_record_doodle_load_time_;
bool modules_visible_;
// Are stats being logged during Chrome startup?
bool during_startup_;
......
......@@ -388,6 +388,8 @@ NewTabPageHandler::NewTabPageHandler(
OmniboxTabHelper::FromWebContents(web_contents_)->AddObserver(this);
promo_service_observer_.Add(promo_service_);
one_google_bar_service_observer_.Add(one_google_bar_service_);
logger_->SetModulesVisible(
profile_->GetPrefs()->GetBoolean(kModulesVisiblePrefName));
}
NewTabPageHandler::~NewTabPageHandler() {
......
......@@ -821,6 +821,14 @@ reviews. Googlers can read more about this at go/gwsq-gerrit.
</summary>
</histogram>
<histogram name="NewTabPage.Modules.VisibleOnNTPLoad" enum="BooleanVisible"
expires_after="M90">
<owner>tiborg@chromium.org</owner>
<owner>yyushkina@chromium.org</owner>
<owner>chrome-desktop-ntp@google.com</owner>
<summary>Logs whether the NTP modules are visible at NTP load.</summary>
</histogram>
<histogram name="NewTabPage.MostVisited" enum="MostVisitedTileIndex"
expires_after="never">
<!-- expires-never: part of top-line metric (internal: go/chrome-browser-nsm) -->
......
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