Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3378)

Unified Diff: chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.cc

Issue 2223453003: Thread user gesture through page_load_metrics abort pipeline (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.cc
diff --git a/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.cc b/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.cc
index f6c32ab15afad0d6e1cd05c11ea0a97440e92acc..2b64a060e9176d994f501d52b2c7398d6cfcee64 100644
--- a/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.cc
+++ b/chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_observer.cc
@@ -51,20 +51,42 @@ const char kHistogramAbortStopDuringParse[] =
const char kHistogramAbortCloseDuringParse[] =
"PageLoad.AbortTiming.Close.DuringParse";
+// These metrics should be temporary until we have landed on a one-size-fits-all
+// abort metric.
+const char kHistogramAbortNewNavigationUserInitiated[] =
+ "PageLoad.AbortTiming.NewNavigation.BeforeCommit.UserInitiated";
+const char kHistogramAbortForwardBackUserInitiated[] =
+ "PageLoad.AbortTiming.NewNavigation.BeforeCommit.UserInitiated";
+const char kHistogramAbortReloadUserInitiated[] =
+ "PageLoad.AbortTiming.NewNavigation.BeforeCommit.UserInitiated";
+
} // namespace internal
namespace {
+bool IsAbortUserInitiated(const page_load_metrics::PageLoadExtraInfo& info) {
+ return info.abort_user_initiated && info.user_gesture;
+}
+
void RecordAbortBeforeCommit(UserAbortType abort_type,
+ bool user_initiated,
base::TimeDelta time_to_abort) {
switch (abort_type) {
case UserAbortType::ABORT_RELOAD:
PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortReloadBeforeCommit,
time_to_abort);
+ if (user_initiated) {
+ PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortReloadUserInitiated,
+ time_to_abort);
+ }
return;
case UserAbortType::ABORT_FORWARD_BACK:
PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortForwardBackBeforeCommit,
time_to_abort);
+ if (user_initiated) {
+ PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortForwardBackUserInitiated,
+ time_to_abort);
+ }
return;
case UserAbortType::ABORT_CLIENT_REDIRECT:
PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortClientRedirectBeforeCommit,
@@ -73,6 +95,10 @@ void RecordAbortBeforeCommit(UserAbortType abort_type,
case UserAbortType::ABORT_NEW_NAVIGATION:
PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortNewNavigationBeforeCommit,
time_to_abort);
+ if (user_initiated) {
+ PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortNewNavigationUserInitiated,
+ time_to_abort);
+ }
return;
case UserAbortType::ABORT_STOP:
PAGE_LOAD_HISTOGRAM(internal::kHistogramAbortStopBeforeCommit,
@@ -223,5 +249,6 @@ void AbortsPageLoadMetricsObserver::OnFailedProvisionalLoad(
return;
RecordAbortBeforeCommit(extra_info.abort_type,
+ IsAbortUserInitiated(extra_info),
extra_info.time_to_abort.value());
}

Powered by Google App Engine
This is Rietveld 408576698