The PerformanceFrameTiming interface provides frame timing data about the browser's event loop. A frame represents the amount of work a browser does in one event loop such as processing DOM events, resizing, scrolling, rendering, CSS animations, etc. A frame rate of 60fps (frames per second) for a 60Hz refresh rate is the target for a good responsive user experience. This means the browser should process a frame in about 16.7ms.
The PerformanceNavigationTiming interface provides methods and properties to store and retrieve high resolution timestamps or metrics regarding the browser's document navigation events. For example, this interface can be used to determine how much time it takes to load or unload a document.
The domComplete property returns a timestamp representing the time value equal to the time immediately before the user agent sets the current document readiness of the current document to complete.
The domContentLoadedEventEnd property returns a timestamp representing the time value equal to the time immediately after the current document's DOMContentLoaded event completes.
The domContentLoadedEventStart property returns a timestamp representing the time value equal to the time immediately before the user agent fires the DOMContentLoaded event at the current document.
The domInteractive property returns a timestamp representing the time value equal to the time immediately before the user agent sets the current document readiness of the current document to interactive.
The loadEventStart property returns a timestamp representing the time value equal to the time immediately before the load event of the current document is fired.
The redirectCount property returns a timestamp representing the number of redirects since the last non-redirect navigation under the current browsing context.
The unloadEventEnd property returns a timestamp representing the time value equal to the time immediately after the user agent finishes the unload event of the previous document. If there is no previous document, this property value is 0.
The unloadEventStart property returns a timestamp representing the time value equal to the time immediately before the user agent starts the unload event of the previous document. If there is no previous document, this property returns 0.
The PerformanceObserver interface is used to observe performance measurement events and be notified of new performance entries as they are recorded in the browser's performance timeline.
The PerformanceResourceTiming interface enables retrieving and analyzing detailed network timing data regarding the loading of an application's resources. An application can use the timing metrics to determine, for example, the length of time it takes to fetch a specific resource, such as an XMLHttpRequest, <SVG>, image, or script.