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) { ...@@ -614,6 +614,10 @@ void NTPUserDataLogger::LogModuleUsage(const std::string& id) {
base::UmaHistogramExactLinear("NewTabPage.Modules.Usage." + id, 1, 1); base::UmaHistogramExactLinear("NewTabPage.Modules.Usage." + id, 1, 1);
} }
void NTPUserDataLogger::SetModulesVisible(bool visible) {
modules_visible_ = visible;
}
NTPUserDataLogger::NTPUserDataLogger(content::WebContents* contents) NTPUserDataLogger::NTPUserDataLogger(content::WebContents* contents)
: content::WebContentsObserver(contents), : content::WebContentsObserver(contents),
has_emitted_(false), has_emitted_(false),
...@@ -739,6 +743,11 @@ void NTPUserDataLogger::EmitNtpStatistics(base::TimeDelta load_time) { ...@@ -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; has_emitted_ = true;
during_startup_ = false; during_startup_ = false;
} }
......
...@@ -78,6 +78,9 @@ class NTPUserDataLogger ...@@ -78,6 +78,9 @@ class NTPUserDataLogger
// Logs a navigation on one of the NTP tiles by a given impression. // Logs a navigation on one of the NTP tiles by a given impression.
void LogMostVisitedNavigation(const ntp_tiles::NTPTileImpression& impression); void LogMostVisitedNavigation(const ntp_tiles::NTPTileImpression& impression);
// Sets visibility of modules to be later logged.
void SetModulesVisible(bool visible);
protected: protected:
explicit NTPUserDataLogger(content::WebContents* contents); explicit NTPUserDataLogger(content::WebContents* contents);
...@@ -145,6 +148,8 @@ class NTPUserDataLogger ...@@ -145,6 +148,8 @@ class NTPUserDataLogger
bool should_record_doodle_load_time_; bool should_record_doodle_load_time_;
bool modules_visible_;
// Are stats being logged during Chrome startup? // Are stats being logged during Chrome startup?
bool during_startup_; bool during_startup_;
......
...@@ -388,6 +388,8 @@ NewTabPageHandler::NewTabPageHandler( ...@@ -388,6 +388,8 @@ NewTabPageHandler::NewTabPageHandler(
OmniboxTabHelper::FromWebContents(web_contents_)->AddObserver(this); OmniboxTabHelper::FromWebContents(web_contents_)->AddObserver(this);
promo_service_observer_.Add(promo_service_); promo_service_observer_.Add(promo_service_);
one_google_bar_service_observer_.Add(one_google_bar_service_); one_google_bar_service_observer_.Add(one_google_bar_service_);
logger_->SetModulesVisible(
profile_->GetPrefs()->GetBoolean(kModulesVisiblePrefName));
} }
NewTabPageHandler::~NewTabPageHandler() { NewTabPageHandler::~NewTabPageHandler() {
......
...@@ -821,6 +821,14 @@ reviews. Googlers can read more about this at go/gwsq-gerrit. ...@@ -821,6 +821,14 @@ reviews. Googlers can read more about this at go/gwsq-gerrit.
</summary> </summary>
</histogram> </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" <histogram name="NewTabPage.MostVisited" enum="MostVisitedTileIndex"
expires_after="never"> expires_after="never">
<!-- expires-never: part of top-line metric (internal: go/chrome-browser-nsm) --> <!-- 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