Home > Net >  window.performance.timing deprecated
window.performance.timing deprecated

Time:07-26

I want to monitor the performance of my application.

For that I discovered window.performance.timing.

It works well but the function is deprecated.

So I replaced it with this.window.performance.getEntriesByType('navigation'); but I don't have the same result:

with window.performance.timing I receive :

connectEnd: 1658410230499,
connectStart: 1658410230499,
domComplete: 1658410232018,
domContentLoadedEventEnd: 1658410231130,
domContentLoadedEventStart: 1658410231129,
domInteractive: 1658410231019,
domLoading: 1658410230735,
domainLookupEnd: 1658410230499,
domainLookupStart: 1658410230499,
fetchStart: 1658410230499,
loadEventEnd: 1658410232047,
loadEventStart: 1658410232018,
navigationStart: 1658410230497,
redirectEnd: 0,
redirectStart: 0,
requestStart: 1658410230502,
responseEnd: 1658410230719,
responseStart: 1658410230712,
secureConnectionStart: 0,
unloadEventEnd: 1658410230732,
unloadEventStart: 1658410230732,

and with performance.getEntriesByType('navigation') I receive :

connectEnd: 1.5
connectStart: 1.5
decodedBodySize: 5725
domComplete: 1520.7000000029802
domContentLoadedEventEnd: 632.6000000014901
domContentLoadedEventStart: 631.9000000022352
domInteractive: 522.2000000029802
domainLookupEnd: 1.5
domainLookupStart: 1.5
duration: 1549.5
encodedBodySize: 2117
entryType: "navigation"
fetchStart: 1.5
initiatorType: "navigation"
loadEventEnd: 1549.5
loadEventStart: 1520.9000000022352
name: "https://my-url"
nextHopProtocol: "http/1.1"
redirectCount: 0
redirectEnd: 0
redirectStart: 0
requestStart: 5.300000000745058
responseEnd: 221.90000000223517
responseStart: 215.10000000149012
secureConnectionStart: 1.5
serverTiming: []
startTime: 0
transferSize: 2417
type: "navigate"
unloadEventEnd: 235
unloadEventStart: 234.80000000074506
workerStart: 0

I understand that for window.performance.timing it's a timestamp format but for performance.getEntriesByType('navigation') I do not understand the type of format.

Do you have an idea ?

CodePudding user response:

window.performance.timing [MDN]
returns time values in milliseconds (probably long integer) since the UNIX epoch. its an absolute timestamp. If a returned value is zero (like redirectEnd), the event/point has not been triggered for this page. You can convert that value to a datetime value by passing it to the Date constructor.

>> window.performance.timing.connectStart
<< 1658497148266
>> new Date(window.performance.timing.connectStart)
<< Fri Jul 22 2022 15:13:23 GMT 0200 (Mitteleuropäische Sommerzeit)

window.performance.get [MDN]
returns most of the values as an instance of DOMHighResTimeStamp [MDN]. Those timestamps are relative to the originTime of the window [MDN]. The origin time is a value in milliseconds since the unix epoch and you can get the origin time by window.performance.originTime.

>> window.performance.timeOrigin
<< 1658497148262.4
>> window.performance.getEntriesByType('navigation')[0].connectStart
<< 4.300000011920929
>> new Date(window.performance.timeOrigin    
            window.performance.getEntriesByType('navigation')[0].connectStart)
<< Fri Jul 22 2022 15:13:23 GMT 0200 (Mitteleuropäische Sommerzeit)
  • Related