Merge "Change page load report to report all navigation and resource timings"
diff --git a/polygerrit-ui/app/elements/core/gr-reporting/gr-reporting.js b/polygerrit-ui/app/elements/core/gr-reporting/gr-reporting.js
index 55f8abd..ae5cb67 100644
--- a/polygerrit-ui/app/elements/core/gr-reporting/gr-reporting.js
+++ b/polygerrit-ui/app/elements/core/gr-reporting/gr-reporting.js
@@ -284,23 +284,17 @@
*/
appStarted() {
this.timeEnd(TIMING.APP_STARTED);
- this.pageLoaded();
+ this._reportNavResTimes();
},
/**
- * Page load time and other metrics, should be reported at any time
- * after navigation.
+ * Browser's navigation and resource timings
*/
- pageLoaded() {
- if (this.performanceTiming.loadEventEnd === 0) {
- console.error('pageLoaded should be called after window.onload');
- this.async(this.pageLoaded, 100);
- } else {
- const perfEvents = Object.keys(this.performanceTiming.toJSON());
- perfEvents.forEach(
- eventName => this._reportPerformanceTiming(eventName)
- );
- }
+ _reportNavResTimes() {
+ const perfEvents = Object.keys(this.performanceTiming.toJSON());
+ perfEvents.forEach(
+ eventName => this._reportPerformanceTiming(eventName)
+ );
},
_reportPerformanceTiming(eventName, eventDetails) {
diff --git a/polygerrit-ui/app/elements/core/gr-reporting/gr-reporting_test.html b/polygerrit-ui/app/elements/core/gr-reporting/gr-reporting_test.html
index ad9903e..bd1584e 100644
--- a/polygerrit-ui/app/elements/core/gr-reporting/gr-reporting_test.html
+++ b/polygerrit-ui/app/elements/core/gr-reporting/gr-reporting_test.html
@@ -79,6 +79,12 @@
element.reporter.calledWithMatch(
'timing-report', 'UI Latency', 'App Started', 42
));
+ assert.isTrue(
+ element.reporter.calledWithExactly(
+ 'timing-report', 'UI Latency', 'NavResTime - loadEventEnd',
+ fakePerformance.loadEventEnd - fakePerformance.navigationStart,
+ undefined, true)
+ );
});
test('WebComponentsReady', () => {
@@ -89,16 +95,6 @@
));
});
- test('pageLoaded', () => {
- element.pageLoaded();
- assert.isTrue(
- element.reporter.calledWithExactly(
- 'timing-report', 'UI Latency', 'NavResTime - loadEventEnd',
- fakePerformance.loadEventEnd - fakePerformance.navigationStart,
- undefined, true)
- );
- });
-
test('beforeLocationChanged', () => {
element._baselines['garbage'] = 'monster';
sandbox.stub(element, 'time');