Page MenuHomePhabricator

Use fetchStart instead of navigationStart for Navigation Timing to measure the actual page performance
Closed, DeclinedPublic

Description

In Nic & Phillips talk at Velocity in NYC they talked about what they learned collecting navtimings with mPulse/Boomerang. One interesting key thing is that we should use fetchStart instead of navigationStart as a start point. Checkout out the video for a couple of minutes:
https://youtu.be/yrWLi524YLM?t=15m27s

What's important is that using navigationStart we also get the time for initializing tabs/cache and redirects. I knew about the redirect but didn't think about the example in the video: If the user comes from a Google search, Google often do a extra redirect (to measure the click) and with navigation start, we pickup that redirect (that is out of our control).

The extra time we add should then be what we has as fetchStart today (fetchStart - navigationStart):

Screen Shot 2016-10-13 at 12.15.23 PM.png (944×2 px, 206 KB)

And for mobile:
Screen Shot 2016-10-13 at 12.17.13 PM.png (908×2 px, 288 KB)

Have you discussed this before @ori and @Krinkle ?

Event Timeline

Declining, because:

  • We do want for internal redirects navigationStart. Measuring from fetchStart would break our current client-side save timing metric.
  • It's not clear to me that the benefits of measuring from fetchStart would justify the cost -- namely, the change in metric definition and the resulting loss of continuity.