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

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

Issue 1721813002: Adding DRP specfic UMA for FirstContentfulPaint (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 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/core_page_load_metrics_observer.cc
diff --git a/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc b/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc
index de5dbfee5ba789709a29d469ddc0a744d3f6172e..71a6ae9683140c3353bd939f0aaf0834444db7b9 100644
--- a/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc
+++ b/chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.cc
@@ -2,20 +2,21 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/page_load_metrics/observers/core_page_load_metrics_observer.h"
#include <stddef.h>
#include <stdint.h>
#include <utility>
#include "chrome/browser/browser_process.h"
+#include "components/data_reduction_proxy/core/common/data_reduction_proxy_params.h"
#include "components/page_load_metrics/browser/page_load_metrics_util.h"
#include "components/rappor/rappor_service.h"
#include "components/rappor/rappor_utils.h"
namespace {
// The number of buckets in the bitfield histogram. These buckets are described
// in rappor.xml in PageLoad.CoarseTiming.NavigationToFirstContentfulPaint.
// The bucket flag is defined by 1 << bucket_index, and is the bitfield
// representing which timing bucket the page load falls into, i.e. 000010
@@ -84,20 +85,28 @@ const char kHistogramFirstForeground[] =
const char kHistogramBackgroundBeforePaint[] =
"PageLoad.Timing2.NavigationToFirstBackground.AfterCommit.BeforePaint";
const char kHistogramBackgroundBeforeCommit[] =
"PageLoad.Timing2.NavigationToFirstBackground.BeforeCommit";
const char kHistogramFailedProvisionalLoad[] =
"PageLoad.Timing2.NavigationToFailedProvisionalLoad";
const char kRapporMetricsNameCoarseTiming[] =
"PageLoad.CoarseTiming.NavigationToFirstContentfulPaint";
+const char kHistogramFirstContentfulPaintDataReductionProxy[] =
+ "PageLoad.Timing2.NavigationToFirstContentfulPaint_DataReductionProxy";
+const char kHistogramFirstContentfulPaintDataReductionProxyAutoLofiOn[] =
+ "PageLoad.Timing2.NavigationToFirstContentfulPaint_DataReductionProxy_"
+ "AutoLoFiOn";
+const char kHistogramFirstContentfulPaintDataReductionProxyAutoLofiOff[] =
+ "PageLoad.Timing2.NavigationToFirstContentfulPaint_DataReductionProxy_"
+ "AutoLofiOff";
} // namespace internal
CorePageLoadMetricsObserver::CorePageLoadMetricsObserver() {}
CorePageLoadMetricsObserver::~CorePageLoadMetricsObserver() {}
void CorePageLoadMetricsObserver::OnComplete(
const page_load_metrics::PageLoadTiming& timing,
const page_load_metrics::PageLoadExtraInfo& info) {
RecordTimingHistograms(timing, info);
@@ -218,20 +227,42 @@ void CorePageLoadMetricsObserver::RecordTimingHistograms(
PAGE_LOAD_HISTOGRAM(internal::kHistogramFirstContentfulPaintHigh,
timing.first_contentful_paint);
} else {
PAGE_LOAD_HISTOGRAM(internal::kHistogramFirstContentfulPaintLow,
timing.first_contentful_paint);
}
} else {
PAGE_LOAD_HISTOGRAM(internal::kBackgroundHistogramFirstContentfulPaint,
timing.first_contentful_paint);
}
+ if (info.was_fetched_via_data_reduction_proxy) {
+ PAGE_LOAD_HISTOGRAM(
+ internal::kHistogramFirstContentfulPaintDataReductionProxy,
+ timing.first_contentful_paint);
+ if (info.is_using_lofi) {
+ bool in_lofi_enabled_group =
bengr 2016/02/26 22:53:57 I'd get rid of these temporaries.
RyanSturm 2016/03/01 19:36:03 Done.
+ data_reduction_proxy::params::IsIncludedInLoFiEnabledFieldTrial();
+ bool in_lofi_control_group =
+ data_reduction_proxy::params::IsIncludedInLoFiControlFieldTrial();
+ if (in_lofi_enabled_group) {
+ PAGE_LOAD_HISTOGRAM(
+ internal::
+ kHistogramFirstContentfulPaintDataReductionProxyAutoLofiOn,
+ timing.first_contentful_paint);
+ } else if (in_lofi_control_group) {
+ PAGE_LOAD_HISTOGRAM(
+ internal::
+ kHistogramFirstContentfulPaintDataReductionProxyAutoLofiOff,
+ timing.first_contentful_paint);
+ }
+ }
+ }
}
// Log time to first foreground / time to first background. Log counts that we
// started a relevant page load in the foreground / background.
if (!info.first_background_time.is_zero())
PAGE_LOAD_HISTOGRAM(internal::kHistogramFirstBackground,
info.first_background_time);
else if (!info.first_foreground_time.is_zero())
PAGE_LOAD_HISTOGRAM(internal::kHistogramFirstForeground,
info.first_foreground_time);

Powered by Google App Engine
This is Rietveld 408576698