Chrome - Difference between event time in devtools timeline and performance timing API

1k Views Asked by At

I'm trying to get for example loadEventEnd time in console. You can do it by performance timing 2 API or performance timing API. I get the same results by doing this calculations:

performance.getEntriesByType("navigation")[0].loadEventEnd
// 483.915
chrome.loadTimes().finishLoadTime * 1000 - chrome.loadTimes().startLoadTime * 1000 
// 484
performance.timing.loadEventEnd - performance.timing.navigationStart
// 484

But in Timeline tab in devtools I get result 510 ms. Differences are shown in this picture:

enter image description here

This problem occurs on the others sites: in console I always get shorter times than in Timeline tab. Can someone explain this difference? Which one time is real?

1

There are 1 best solutions below

0
Everettss On BEST ANSWER

As @Dragomok in comment suggest:

navigation-timing-api starts record on navigationStart event. Performance tab timeline starts records "some time" before navigationStart event, that's why performance.getEntriesByType("navigation")[0].loadEventEnd gives smaller value than loadEventEnd in timeline.

If you calculate timeline loadEventEnd - navigationStart you will get the same value as in navigation-timing-api.

Here is proof in pictures: enter image description here


enter image description here