Commit 4d1393fe authored by Johannes Henkel's avatar Johannes Henkel Committed by Commit Bot

Record the FirstPaint (FP) metric for subframes.

Change-Id: I2e817334fb9b8988dacbd21b531090dd4574359d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2265353Reviewed-by: default avatarBryan McQuade <bmcquade@chromium.org>
Commit-Queue: Johannes Henkel <johannes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#782716}
parent 3a1e4177
...@@ -338,6 +338,12 @@ void AMPPageLoadMetricsObserver::MaybeRecordAmpDocumentMetrics() { ...@@ -338,6 +338,12 @@ void AMPPageLoadMetricsObserver::MaybeRecordAmpDocumentMetrics() {
} }
if (!subframe_info.timing.is_null()) { if (!subframe_info.timing.is_null()) {
if (subframe_info.timing->paint_timing->first_paint.has_value()) {
builder.SetSubFrame_PaintTiming_NavigationToFirstPaint(
subframe_info.timing->paint_timing->first_paint.value()
.InMilliseconds());
}
if (subframe_info.timing->paint_timing->first_contentful_paint if (subframe_info.timing->paint_timing->first_contentful_paint
.has_value()) { .has_value()) {
builder.SetSubFrame_PaintTiming_NavigationToFirstContentfulPaint( builder.SetSubFrame_PaintTiming_NavigationToFirstContentfulPaint(
......
...@@ -324,6 +324,8 @@ TEST_F(AMPPageLoadMetricsObserverTest, SubFrameMetrics) { ...@@ -324,6 +324,8 @@ TEST_F(AMPPageLoadMetricsObserverTest, SubFrameMetrics) {
page_load_metrics::mojom::PageLoadTiming subframe_timing; page_load_metrics::mojom::PageLoadTiming subframe_timing;
page_load_metrics::InitPageLoadTimingForTest(&subframe_timing); page_load_metrics::InitPageLoadTimingForTest(&subframe_timing);
subframe_timing.navigation_start = base::Time::FromDoubleT(2); subframe_timing.navigation_start = base::Time::FromDoubleT(2);
subframe_timing.paint_timing->first_paint =
base::TimeDelta::FromMilliseconds(4);
subframe_timing.paint_timing->first_contentful_paint = subframe_timing.paint_timing->first_contentful_paint =
base::TimeDelta::FromMilliseconds(5); base::TimeDelta::FromMilliseconds(5);
subframe_timing.paint_timing->largest_contentful_paint subframe_timing.paint_timing->largest_contentful_paint
...@@ -357,6 +359,8 @@ TEST_F(AMPPageLoadMetricsObserverTest, SubFrameMetrics) { ...@@ -357,6 +359,8 @@ TEST_F(AMPPageLoadMetricsObserverTest, SubFrameMetrics) {
tester()->test_ukm_recorder().ExpectEntrySourceHasUrl(entry.get(), amp_url); tester()->test_ukm_recorder().ExpectEntrySourceHasUrl(entry.get(), amp_url);
tester()->test_ukm_recorder().ExpectEntryMetric( tester()->test_ukm_recorder().ExpectEntryMetric(
entry.get(), "SubFrame.InteractiveTiming.FirstInputDelay4", 3); entry.get(), "SubFrame.InteractiveTiming.FirstInputDelay4", 3);
tester()->test_ukm_recorder().ExpectEntryMetric(
entry.get(), "SubFrame.PaintTiming.NavigationToFirstPaint", 4);
tester()->test_ukm_recorder().ExpectEntryMetric( tester()->test_ukm_recorder().ExpectEntryMetric(
entry.get(), "SubFrame.PaintTiming.NavigationToFirstContentfulPaint", 5); entry.get(), "SubFrame.PaintTiming.NavigationToFirstContentfulPaint", 5);
tester()->test_ukm_recorder().ExpectEntryMetric( tester()->test_ukm_recorder().ExpectEntryMetric(
......
...@@ -384,6 +384,12 @@ be describing additional metrics about the same event. ...@@ -384,6 +384,12 @@ be describing additional metrics about the same event.
A contentful paint includes a paint of text, image, SVG, or canvas. A contentful paint includes a paint of text, image, SVG, or canvas.
</summary> </summary>
</metric> </metric>
<metric name="SubFrame.PaintTiming.NavigationToFirstPaint">
<summary>
Measures the time in milliseconds from navigation timing's navigation
start to the time the first paint is performed, in the AMP subframe.
</summary>
</metric>
<metric name="SubFrame.PaintTiming.NavigationToLargestContentfulPaint"> <metric name="SubFrame.PaintTiming.NavigationToLargestContentfulPaint">
<summary> <summary>
Measures the time in milliseconds from navigation timing's navigation Measures the time in milliseconds from navigation timing's navigation
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment