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 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 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 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.