Commit 499b2463 authored by dpapad's avatar dpapad Committed by Commit Bot

NTP: Add histogram measuring the main bundle's load time.

Specifically adding a new NewTabPage.MainUi.ShownTime histogram.

Fixed: 1141327
Change-Id: Ide414b94c8273e19448ef8251bcede671792ef82
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2533643Reviewed-by: default avatarAlex Gough <ajgo@chromium.org>
Reviewed-by: default avatarTibor Goldschwendt <tiborg@chromium.org>
Reviewed-by: default avatarAlexei Svitkine <asvitkine@chromium.org>
Commit-Queue: Alex Gough <ajgo@chromium.org>
Commit-Queue: dpapad <dpapad@chromium.org>
Auto-Submit: dpapad <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/master@{#826952}
parent c5fc7bc6
......@@ -351,6 +351,7 @@ class AppElement extends PolymerElement {
/** @override */
ready() {
super.ready();
this.pageHandler_.onAppRendered(BrowserProxy.getInstance().now());
// Let the browser breath and then render remaining elements.
BrowserProxy.getInstance().waitForLazyRender().then(() => {
ensureLazyLoaded();
......
......@@ -552,6 +552,9 @@ void NTPUserDataLogger::LogEvent(NTPLoggingEventType event,
case NTP_MODULES_SHOWN:
UMA_HISTOGRAM_LOAD_TIME("NewTabPage.Modules.ShownTime", time);
break;
case NTP_APP_RENDERED:
UMA_HISTOGRAM_LOAD_TIME("NewTabPage.MainUi.ShownTime", time);
break;
}
}
......
......@@ -403,6 +403,8 @@ interface PageHandler {
OnModuleUsage(string module_id);
// Logs that the modules have been shown at |time|.
OnModulesRendered(double time);
// Logs that the <ntp-app> element's |ready| callback method was called.
OnAppRendered(double time);
// ======= REALBOX =======
// Queries autocomplete matches from the browser.
......
......@@ -728,6 +728,11 @@ void NewTabPageHandler::OnPromoServiceShuttingDown() {
promo_service_ = nullptr;
}
void NewTabPageHandler::OnAppRendered(double time) {
logger_->LogEvent(NTP_APP_RENDERED,
base::Time::FromJsTime(time) - ntp_navigation_start_time_);
}
void NewTabPageHandler::OnMostVisitedTilesRendered(
std::vector<new_tab_page::mojom::MostVisitedTilePtr> tiles,
double time) {
......
......@@ -109,6 +109,7 @@ class NewTabPageHandler : public new_tab_page::mojom::PageHandler,
void OnRestoreModule(const std::string& module_id) override;
void SetModulesVisible(bool visible) override;
void UpdateModulesVisible() override;
void OnAppRendered(double time) override;
void OnMostVisitedTilesRendered(
std::vector<new_tab_page::mojom::MostVisitedTilePtr> tiles,
double time) override;
......
......@@ -176,7 +176,10 @@ enum NTPLoggingEventType {
// The NTP modules were shown.
NTP_MODULES_SHOWN = 83,
NTP_EVENT_TYPE_LAST = NTP_MODULES_SHOWN
// The NTP <ntp-app> element was created and ready() was called.
NTP_APP_RENDERED = 84,
NTP_EVENT_TYPE_LAST = NTP_APP_RENDERED
};
// The different types of events that are logged for NTP search suggestions,
......
......@@ -737,6 +737,17 @@ reviews. Googlers can read more about this at go/gwsq-gerrit.
</summary>
</histogram>
<histogram name="NewTabPage.MainUi.ShownTime" units="ms"
expires_after="2021-11-12">
<owner>tiborg@chromium.org</owner>
<owner>chrome-desktop-ntp@google.com</owner>
<summary>
Records the time until the top-level ntp-app Custom Element's |ready|
callback is called. The intention is to measure how quickly the contents of
new_tab_page.rollup.js (main JS bundle) are rendered.
</summary>
</histogram>
<histogram name="NewTabPage.MobileIsUserOnline" enum="Boolean"
expires_after="M85">
<owner>fserb@chromium.org</owner>
......
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