Commit df057c7a authored by Sophie Chang's avatar Sophie Chang Committed by Commit Bot

Add PageEndReason to PLM UKM

Bug: 883528
Change-Id: I9b909ece49229149efa75cf0cb70ced808f22835
Reviewed-on: https://chromium-review.googlesource.com/c/1252782Reviewed-by: default avatarRyan Sturm <ryansturm@chromium.org>
Reviewed-by: default avatarSteven Holte <holte@chromium.org>
Commit-Queue: Sophie Chang <sophiechang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#596365}
parent 06c73d04
...@@ -243,5 +243,8 @@ void UkmPageLoadMetricsObserver::RecordPageLoadExtraInfoMetrics( ...@@ -243,5 +243,8 @@ void UkmPageLoadMetricsObserver::RecordPageLoadExtraInfoMetrics(
} }
// page_transition_ fits in a uint32_t, so we can safely cast to int64_t. // page_transition_ fits in a uint32_t, so we can safely cast to int64_t.
builder.SetNavigation_PageTransition(static_cast<int64_t>(page_transition_)); builder.SetNavigation_PageTransition(static_cast<int64_t>(page_transition_));
// info.page_end_reason fits in a uint32_t, so we can safely cast to int64_t.
builder.SetNavigation_PageEndReason(
static_cast<int64_t>(info.page_end_reason));
builder.Record(ukm::UkmRecorder::Get()); builder.Record(ukm::UkmRecorder::Get());
} }
...@@ -122,6 +122,9 @@ TEST_F(UkmPageLoadMetricsObserverTest, Basic) { ...@@ -122,6 +122,9 @@ TEST_F(UkmPageLoadMetricsObserverTest, Basic) {
test_ukm_recorder().ExpectEntryMetric( test_ukm_recorder().ExpectEntryMetric(
kv.second.get(), PageLoad::kNavigation_PageTransitionName, kv.second.get(), PageLoad::kNavigation_PageTransitionName,
ui::PAGE_TRANSITION_LINK); ui::PAGE_TRANSITION_LINK);
test_ukm_recorder().ExpectEntryMetric(
kv.second.get(), PageLoad::kNavigation_PageEndReasonName,
page_load_metrics::END_CLOSE);
test_ukm_recorder().ExpectEntryMetric( test_ukm_recorder().ExpectEntryMetric(
kv.second.get(), PageLoad::kParseTiming_NavigationToParseStartName, kv.second.get(), PageLoad::kParseTiming_NavigationToParseStartName,
100); 100);
...@@ -177,6 +180,9 @@ TEST_F(UkmPageLoadMetricsObserverTest, FailedProvisionalLoad) { ...@@ -177,6 +180,9 @@ TEST_F(UkmPageLoadMetricsObserverTest, FailedProvisionalLoad) {
test_ukm_recorder().ExpectEntryMetric( test_ukm_recorder().ExpectEntryMetric(
kv.second.get(), PageLoad::kNavigation_PageTransitionName, kv.second.get(), PageLoad::kNavigation_PageTransitionName,
ui::PAGE_TRANSITION_LINK); ui::PAGE_TRANSITION_LINK);
test_ukm_recorder().ExpectEntryMetric(
kv.second.get(), PageLoad::kNavigation_PageEndReasonName,
page_load_metrics::END_PROVISIONAL_LOAD_FAILED);
test_ukm_recorder().ExpectEntryMetric( test_ukm_recorder().ExpectEntryMetric(
kv.second.get(), kv.second.get(),
PageLoad::kNet_EffectiveConnectionType2_OnNavigationStartName, PageLoad::kNet_EffectiveConnectionType2_OnNavigationStartName,
...@@ -386,6 +392,9 @@ TEST_F(UkmPageLoadMetricsObserverTest, MultiplePageLoads) { ...@@ -386,6 +392,9 @@ TEST_F(UkmPageLoadMetricsObserverTest, MultiplePageLoads) {
ASSERT_NE(entry2, nullptr); ASSERT_NE(entry2, nullptr);
test_ukm_recorder().ExpectEntrySourceHasUrl(entry1, GURL(kTestUrl1)); test_ukm_recorder().ExpectEntrySourceHasUrl(entry1, GURL(kTestUrl1));
test_ukm_recorder().ExpectEntryMetric(entry1,
PageLoad::kNavigation_PageEndReasonName,
page_load_metrics::END_NEW_NAVIGATION);
test_ukm_recorder().ExpectEntryMetric( test_ukm_recorder().ExpectEntryMetric(
entry1, PageLoad::kPaintTiming_NavigationToFirstContentfulPaintName, 200); entry1, PageLoad::kPaintTiming_NavigationToFirstContentfulPaintName, 200);
EXPECT_FALSE(test_ukm_recorder().EntryHasMetric( EXPECT_FALSE(test_ukm_recorder().EntryHasMetric(
...@@ -396,6 +405,9 @@ TEST_F(UkmPageLoadMetricsObserverTest, MultiplePageLoads) { ...@@ -396,6 +405,9 @@ TEST_F(UkmPageLoadMetricsObserverTest, MultiplePageLoads) {
entry1, PageLoad::kPageTiming_ForegroundDurationName)); entry1, PageLoad::kPageTiming_ForegroundDurationName));
test_ukm_recorder().ExpectEntrySourceHasUrl(entry2, GURL(kTestUrl2)); test_ukm_recorder().ExpectEntrySourceHasUrl(entry2, GURL(kTestUrl2));
test_ukm_recorder().ExpectEntryMetric(entry2,
PageLoad::kNavigation_PageEndReasonName,
page_load_metrics::END_CLOSE);
EXPECT_FALSE(test_ukm_recorder().EntryHasMetric( EXPECT_FALSE(test_ukm_recorder().EntryHasMetric(
entry2, PageLoad::kParseTiming_NavigationToParseStartName)); entry2, PageLoad::kParseTiming_NavigationToParseStartName));
EXPECT_FALSE(test_ukm_recorder().EntryHasMetric( EXPECT_FALSE(test_ukm_recorder().EntryHasMetric(
......
...@@ -2937,6 +2937,12 @@ be describing additional metrics about the same event. ...@@ -2937,6 +2937,12 @@ be describing additional metrics about the same event.
meaningful input with longest queuing delay per navigation. In ms. meaningful input with longest queuing delay per navigation. In ms.
</summary> </summary>
</metric> </metric>
<metric name="Navigation.PageEndReason">
<summary>
The |page_load_metrics::PageEndReason| for the main frame navigation of
this page load.
</summary>
</metric>
<metric name="Navigation.PageTransition"> <metric name="Navigation.PageTransition">
<summary> <summary>
The |ui::PageTransition| for the main frame navigation of this page load. The |ui::PageTransition| for the main frame navigation of this page load.
......
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