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

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

Issue 2874663005: [Page Load Metrics] Add mojom file to page load metrics. (Closed)
Patch Set: Remove unnecessary variable Created 3 years, 7 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/lofi_page_load_metrics_obse rver.h" 5 #include "chrome/browser/page_load_metrics/observers/lofi_page_load_metrics_obse rver.h"
6 6
7 #include "base/optional.h" 7 #include "base/optional.h"
8 #include "base/time/time.h" 8 #include "base/time/time.h"
9 #include "chrome/browser/page_load_metrics/page_load_metrics_observer.h" 9 #include "chrome/browser/page_load_metrics/page_load_metrics_observer.h"
10 #include "chrome/browser/page_load_metrics/page_load_metrics_util.h" 10 #include "chrome/browser/page_load_metrics/page_load_metrics_util.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 content::NavigationHandle* navigation_handle, 52 content::NavigationHandle* navigation_handle,
53 const GURL& currently_committed_url, 53 const GURL& currently_committed_url,
54 bool started_in_foreground) { 54 bool started_in_foreground) {
55 if (!started_in_foreground) 55 if (!started_in_foreground)
56 return STOP_OBSERVING; 56 return STOP_OBSERVING;
57 return CONTINUE_OBSERVING; 57 return CONTINUE_OBSERVING;
58 } 58 }
59 59
60 page_load_metrics::PageLoadMetricsObserver::ObservePolicy 60 page_load_metrics::PageLoadMetricsObserver::ObservePolicy
61 LoFiPageLoadMetricsObserver::FlushMetricsOnAppEnterBackground( 61 LoFiPageLoadMetricsObserver::FlushMetricsOnAppEnterBackground(
62 const page_load_metrics::PageLoadTiming& timing, 62 const page_load_metrics::mojom::PageLoadTiming& timing,
63 const page_load_metrics::PageLoadExtraInfo& info) { 63 const page_load_metrics::PageLoadExtraInfo& info) {
64 // FlushMetricsOnAppEnterBackground is invoked on Android in cases where the 64 // FlushMetricsOnAppEnterBackground is invoked on Android in cases where the
65 // app is about to be backgrounded, as part of the Activity.onPause() 65 // app is about to be backgrounded, as part of the Activity.onPause()
66 // flow. After this method is invoked, Chrome may be killed without further 66 // flow. After this method is invoked, Chrome may be killed without further
67 // notification. 67 // notification.
68 if (num_network_lofi_resources_ > 0 && info.did_commit) { 68 if (num_network_lofi_resources_ > 0 && info.did_commit) {
69 RecordPageSizeUMA(); 69 RecordPageSizeUMA();
70 RecordTimingMetrics(timing, info); 70 RecordTimingMetrics(timing, info);
71 } 71 }
72 return STOP_OBSERVING; 72 return STOP_OBSERVING;
73 } 73 }
74 74
75 void LoFiPageLoadMetricsObserver::OnComplete( 75 void LoFiPageLoadMetricsObserver::OnComplete(
76 const page_load_metrics::PageLoadTiming& timing, 76 const page_load_metrics::mojom::PageLoadTiming& timing,
77 const page_load_metrics::PageLoadExtraInfo& info) { 77 const page_load_metrics::PageLoadExtraInfo& info) {
78 if (num_network_lofi_resources_ == 0) 78 if (num_network_lofi_resources_ == 0)
79 return; 79 return;
80 RecordPageSizeUMA(); 80 RecordPageSizeUMA();
81 RecordTimingMetrics(timing, info); 81 RecordTimingMetrics(timing, info);
82 } 82 }
83 83
84 void LoFiPageLoadMetricsObserver::RecordPageSizeUMA() const { 84 void LoFiPageLoadMetricsObserver::RecordPageSizeUMA() const {
85 PAGE_RESOURCE_COUNT_HISTOGRAM(lofi_names::kNumNetworkResources, 85 PAGE_RESOURCE_COUNT_HISTOGRAM(lofi_names::kNumNetworkResources,
86 num_network_resources_); 86 num_network_resources_);
87 PAGE_RESOURCE_COUNT_HISTOGRAM(lofi_names::kNumNetworkLoFiResources, 87 PAGE_RESOURCE_COUNT_HISTOGRAM(lofi_names::kNumNetworkLoFiResources,
88 num_network_lofi_resources_); 88 num_network_lofi_resources_);
89 PAGE_BYTES_HISTOGRAM(lofi_names::kNetworkBytes, network_bytes_); 89 PAGE_BYTES_HISTOGRAM(lofi_names::kNetworkBytes, network_bytes_);
90 PAGE_BYTES_HISTOGRAM(lofi_names::kLoFiNetworkBytes, lofi_network_bytes_); 90 PAGE_BYTES_HISTOGRAM(lofi_names::kLoFiNetworkBytes, lofi_network_bytes_);
91 } 91 }
92 92
93 void LoFiPageLoadMetricsObserver::RecordTimingMetrics( 93 void LoFiPageLoadMetricsObserver::RecordTimingMetrics(
94 const page_load_metrics::PageLoadTiming& timing, 94 const page_load_metrics::mojom::PageLoadTiming& timing,
95 const page_load_metrics::PageLoadExtraInfo& info) { 95 const page_load_metrics::PageLoadExtraInfo& info) {
96 if (WasStartedInForegroundOptionalEventInForeground( 96 if (WasStartedInForegroundOptionalEventInForeground(
97 timing.document_timing.load_event_start, info)) { 97 timing.document_timing->load_event_start, info)) {
98 PAGE_LOAD_HISTOGRAM(lofi_names::kNavigationToLoadEvent, 98 PAGE_LOAD_HISTOGRAM(lofi_names::kNavigationToLoadEvent,
99 timing.document_timing.load_event_start.value()); 99 timing.document_timing->load_event_start.value());
100 } 100 }
101 if (WasStartedInForegroundOptionalEventInForeground( 101 if (WasStartedInForegroundOptionalEventInForeground(
102 timing.paint_timing.first_contentful_paint, info)) { 102 timing.paint_timing->first_contentful_paint, info)) {
103 PAGE_LOAD_HISTOGRAM(lofi_names::kNavigationToFirstContentfulPaint, 103 PAGE_LOAD_HISTOGRAM(lofi_names::kNavigationToFirstContentfulPaint,
104 timing.paint_timing.first_contentful_paint.value()); 104 timing.paint_timing->first_contentful_paint.value());
105 } 105 }
106 if (WasStartedInForegroundOptionalEventInForeground( 106 if (WasStartedInForegroundOptionalEventInForeground(
107 timing.paint_timing.first_meaningful_paint, info)) { 107 timing.paint_timing->first_meaningful_paint, info)) {
108 PAGE_LOAD_HISTOGRAM(lofi_names::kNavigationToFirstMeaningfulPaint, 108 PAGE_LOAD_HISTOGRAM(lofi_names::kNavigationToFirstMeaningfulPaint,
109 timing.paint_timing.first_meaningful_paint.value()); 109 timing.paint_timing->first_meaningful_paint.value());
110 } 110 }
111 if (WasStartedInForegroundOptionalEventInForeground( 111 if (WasStartedInForegroundOptionalEventInForeground(
112 timing.paint_timing.first_image_paint, info)) { 112 timing.paint_timing->first_image_paint, info)) {
113 PAGE_LOAD_HISTOGRAM(lofi_names::kNavigationToFirstImagePaint, 113 PAGE_LOAD_HISTOGRAM(lofi_names::kNavigationToFirstImagePaint,
114 timing.paint_timing.first_image_paint.value()); 114 timing.paint_timing->first_image_paint.value());
115 } 115 }
116 if (WasStartedInForegroundOptionalEventInForeground( 116 if (WasStartedInForegroundOptionalEventInForeground(
117 timing.parse_timing.parse_stop, info)) { 117 timing.parse_timing->parse_stop, info)) {
118 PAGE_LOAD_HISTOGRAM( 118 PAGE_LOAD_HISTOGRAM(
119 lofi_names::kParseBlockedOnScriptLoad, 119 lofi_names::kParseBlockedOnScriptLoad,
120 timing.parse_timing.parse_blocked_on_script_load_duration.value()); 120 timing.parse_timing->parse_blocked_on_script_load_duration.value());
121 PAGE_LOAD_HISTOGRAM(lofi_names::kParseDuration, 121 PAGE_LOAD_HISTOGRAM(lofi_names::kParseDuration,
122 timing.parse_timing.parse_stop.value() - 122 timing.parse_timing->parse_stop.value() -
123 timing.parse_timing.parse_start.value()); 123 timing.parse_timing->parse_start.value());
124 } 124 }
125 } 125 }
126 126
127 void LoFiPageLoadMetricsObserver::OnLoadedResource( 127 void LoFiPageLoadMetricsObserver::OnLoadedResource(
128 const page_load_metrics::ExtraRequestCompleteInfo& 128 const page_load_metrics::ExtraRequestCompleteInfo&
129 extra_request_complete_info) { 129 extra_request_complete_info) {
130 if (extra_request_complete_info.was_cached) 130 if (extra_request_complete_info.was_cached)
131 return; 131 return;
132 ++num_network_resources_; 132 ++num_network_resources_;
133 network_bytes_ += extra_request_complete_info.raw_body_bytes; 133 network_bytes_ += extra_request_complete_info.raw_body_bytes;
134 original_network_bytes_ += 134 original_network_bytes_ +=
135 extra_request_complete_info.original_network_content_length; 135 extra_request_complete_info.original_network_content_length;
136 if (extra_request_complete_info.data_reduction_proxy_data && 136 if (extra_request_complete_info.data_reduction_proxy_data &&
137 (extra_request_complete_info.data_reduction_proxy_data->lofi_received() || 137 (extra_request_complete_info.data_reduction_proxy_data->lofi_received() ||
138 extra_request_complete_info.data_reduction_proxy_data 138 extra_request_complete_info.data_reduction_proxy_data
139 ->client_lofi_requested())) { 139 ->client_lofi_requested())) {
140 ++num_network_lofi_resources_; 140 ++num_network_lofi_resources_;
141 lofi_network_bytes_ += extra_request_complete_info.raw_body_bytes; 141 lofi_network_bytes_ += extra_request_complete_info.raw_body_bytes;
142 } 142 }
143 } 143 }
144 144
145 } // namespace data_reduction_proxy 145 } // namespace data_reduction_proxy
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698