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

Side by Side Diff: chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_observer.cc

Issue 2806863003: [Page Load Metrics] Structure PageLoadTiming. (Closed)
Patch Set: rebase Created 3 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_obser ver.h" 5 #include "chrome/browser/page_load_metrics/observers/ukm_page_load_metrics_obser ver.h"
6 #include "chrome/browser/browser_process.h" 6 #include "chrome/browser/browser_process.h"
7 #include "chrome/browser/net/nqe/ui_network_quality_estimator_service.h" 7 #include "chrome/browser/net/nqe/ui_network_quality_estimator_service.h"
8 #include "chrome/browser/net/nqe/ui_network_quality_estimator_service_factory.h" 8 #include "chrome/browser/net/nqe/ui_network_quality_estimator_service_factory.h"
9 #include "chrome/browser/page_load_metrics/page_load_metrics_util.h" 9 #include "chrome/browser/page_load_metrics/page_load_metrics_util.h"
10 #include "chrome/browser/profiles/profile.h" 10 #include "chrome/browser/profiles/profile.h"
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 RecordPageLoadExtraInfoMetrics( 142 RecordPageLoadExtraInfoMetrics(
143 info, base::TimeTicks() /* no app_background_time */); 143 info, base::TimeTicks() /* no app_background_time */);
144 RecordTimingMetrics(timing); 144 RecordTimingMetrics(timing);
145 } 145 }
146 146
147 void UkmPageLoadMetricsObserver::RecordTimingMetrics( 147 void UkmPageLoadMetricsObserver::RecordTimingMetrics(
148 const page_load_metrics::PageLoadTiming& timing) { 148 const page_load_metrics::PageLoadTiming& timing) {
149 ukm::UkmService* ukm_service = g_browser_process->ukm_service(); 149 ukm::UkmService* ukm_service = g_browser_process->ukm_service();
150 std::unique_ptr<ukm::UkmEntryBuilder> builder = 150 std::unique_ptr<ukm::UkmEntryBuilder> builder =
151 ukm_service->GetEntryBuilder(source_id_, internal::kUkmPageLoadEventName); 151 ukm_service->GetEntryBuilder(source_id_, internal::kUkmPageLoadEventName);
152 if (timing.parse_start) { 152 if (timing.parse_timing.parse_start) {
153 builder->AddMetric(internal::kUkmParseStartName, 153 builder->AddMetric(
154 timing.parse_start.value().InMilliseconds()); 154 internal::kUkmParseStartName,
155 timing.parse_timing.parse_start.value().InMilliseconds());
155 } 156 }
156 if (timing.dom_content_loaded_event_start) { 157 if (timing.document_timing.dom_content_loaded_event_start) {
157 builder->AddMetric( 158 builder->AddMetric(
158 internal::kUkmDomContentLoadedName, 159 internal::kUkmDomContentLoadedName,
159 timing.dom_content_loaded_event_start.value().InMilliseconds()); 160 timing.document_timing.dom_content_loaded_event_start.value()
161 .InMilliseconds());
160 } 162 }
161 if (timing.load_event_start) { 163 if (timing.document_timing.load_event_start) {
162 builder->AddMetric(internal::kUkmLoadEventName, 164 builder->AddMetric(
163 timing.load_event_start.value().InMilliseconds()); 165 internal::kUkmLoadEventName,
166 timing.document_timing.load_event_start.value().InMilliseconds());
164 } 167 }
165 if (timing.first_contentful_paint) { 168 if (timing.paint_timing.first_contentful_paint) {
166 builder->AddMetric(internal::kUkmFirstContentfulPaintName, 169 builder->AddMetric(
167 timing.first_contentful_paint.value().InMilliseconds()); 170 internal::kUkmFirstContentfulPaintName,
171 timing.paint_timing.first_contentful_paint.value().InMilliseconds());
168 } 172 }
169 if (timing.first_meaningful_paint) { 173 if (timing.paint_timing.first_meaningful_paint) {
170 builder->AddMetric(internal::kUkmFirstMeaningfulPaintName, 174 builder->AddMetric(
171 timing.first_meaningful_paint.value().InMilliseconds()); 175 internal::kUkmFirstMeaningfulPaintName,
176 timing.paint_timing.first_meaningful_paint.value().InMilliseconds());
172 } 177 }
173 } 178 }
174 179
175 void UkmPageLoadMetricsObserver::RecordPageLoadExtraInfoMetrics( 180 void UkmPageLoadMetricsObserver::RecordPageLoadExtraInfoMetrics(
176 const page_load_metrics::PageLoadExtraInfo& info, 181 const page_load_metrics::PageLoadExtraInfo& info,
177 base::TimeTicks app_background_time) { 182 base::TimeTicks app_background_time) {
178 ukm::UkmService* ukm_service = g_browser_process->ukm_service(); 183 ukm::UkmService* ukm_service = g_browser_process->ukm_service();
179 ukm_service->UpdateSourceURL(source_id_, info.start_url); 184 ukm_service->UpdateSourceURL(source_id_, info.start_url);
180 ukm_service->UpdateSourceURL(source_id_, info.url); 185 ukm_service->UpdateSourceURL(source_id_, info.url);
181 186
(...skipping 17 matching lines...) Expand all
199 } 204 }
200 if (transport_rtt_estimate_) { 205 if (transport_rtt_estimate_) {
201 builder->AddMetric( 206 builder->AddMetric(
202 internal::kUkmTransportRttEstimate, 207 internal::kUkmTransportRttEstimate,
203 static_cast<int64_t>(transport_rtt_estimate_.value().InMilliseconds())); 208 static_cast<int64_t>(transport_rtt_estimate_.value().InMilliseconds()));
204 } 209 }
205 // page_transition_ fits in a uint32_t, so we can safely cast to int64_t. 210 // page_transition_ fits in a uint32_t, so we can safely cast to int64_t.
206 builder->AddMetric(internal::kUkmPageTransition, 211 builder->AddMetric(internal::kUkmPageTransition,
207 static_cast<int64_t>(page_transition_)); 212 static_cast<int64_t>(page_transition_));
208 } 213 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698