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

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

Issue 2780303002: Persist HTTP RTT and Transport RTT estimates in UKM on navigation start. (Closed)
Patch Set: Created 3 years, 9 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/ukm_page_load_metrics_observer.cc
diff --git a/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer.cc b/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer.cc
index 43f863441e2a3447abc92eacca1fb4b90f5a6cdc..dd8aaf7efede949e515e3d3883c90526a37cc3a1 100644
--- a/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer.cc
+++ b/chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer.cc
@@ -28,6 +28,9 @@ const char kUkmFailedProvisionaLoadName[] =
"PageTiming.NavigationToFailedProvisionalLoad";
const char kUkmEffectiveConnectionType[] =
"Net.EffectiveConnectionType.OnNavigationStart";
+const char kUkmHttpRttEstimate[] = "Net.HttpRttEstimate.OnNavigationStart";
+const char kUkmTransportRttEstimate[] =
+ "Net.TransportRttEstimate.OnNavigationStart";
const char kUkmNetErrorCode[] = "Net.ErrorCode.OnFailedProvisionalLoad";
const char kUkmPageTransition[] = "Navigation.PageTransition";
@@ -81,6 +84,8 @@ UkmPageLoadMetricsObserver::ObservePolicy UkmPageLoadMetricsObserver::OnStart(
if (network_quality_provider_) {
effective_connection_type_ =
network_quality_provider_->GetEffectiveConnectionType();
+ http_rtt_estimate_ = network_quality_provider_->GetHttpRTT();
+ transport_rtt_estimate_ = network_quality_provider_->GetTransportRTT();
}
page_transition_ = navigation_handle->GetPageTransition();
return CONTINUE_OBSERVING;
@@ -187,6 +192,16 @@ void UkmPageLoadMetricsObserver::RecordPageLoadExtraInfoMetrics(
builder->AddMetric(internal::kUkmEffectiveConnectionType,
static_cast<int64_t>(effective_connection_type_));
}
+ if (http_rtt_estimate_) {
+ builder->AddMetric(
+ internal::kUkmHttpRttEstimate,
+ static_cast<int64_t>(http_rtt_estimate_.value().InMilliseconds()));
+ }
+ if (transport_rtt_estimate_) {
+ builder->AddMetric(
+ internal::kUkmTransportRttEstimate,
+ static_cast<int64_t>(transport_rtt_estimate_.value().InMilliseconds()));
+ }
// page_transition_ fits in a uint32_t, so we can safely cast to int64_t.
builder->AddMetric(internal::kUkmPageTransition,
static_cast<int64_t>(page_transition_));

Powered by Google App Engine
This is Rietveld 408576698