dom / latest / performanceresourcetiming.html /

PerformanceResourceTiming

The PerformanceResourceTiming interface enables retrieval and analysis of 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.

The interface's properties create a resource loading timeline with high-resolution timestamps for network events such as redirect start and end times, fetch start, DNS lookup start and end times, response start and end times, etc.. Additionally, the interface extends PerformanceEntry with other properties which provide data about the size of the fetched resource as well as the type of resource that initiated the fetch.

PerformanceEntry PerformanceResourceTiming

Note: This feature is available in Web Workers

Properties

This interface extends the following PerformanceEntry properties for resource performance entry types by qualifying and constraining them as follows:

PerformanceEntry.entryType Read only

Returns "resource".

PerformanceEntry.name Read only

Returns the resources URL.

PerformanceEntry.startTime Read only

Returns the timestamp for the time a resource fetch started. This value is equivalent to PerformanceResourceTiming.fetchStart.

PerformanceEntry.duration Read only

Returns a timestamp that is the difference between the responseEnd and the startTime properties.

The interface also supports the following properties which are listed in the order in which they are recorded for the fetching of a single resource. An alphabetical listing is shown in the navigation, at left.

PerformanceResourceTiming.initiatorType Read only

A string representing the type of resource that initiated the performance entry, as specified in PerformanceResourceTiming.initiatorType.

PerformanceResourceTiming.nextHopProtocol Read only

A string representing the network protocol used to fetch the resource, as identified by the ALPN Protocol ID (RFC7301).

PerformanceResourceTiming.workerStart Read only

Returns a DOMHighResTimeStamp immediately before dispatching the FetchEvent if a Service Worker thread is already running, or immediately before starting the Service Worker thread if it is not already running. If the resource is not intercepted by a Service Worker the property will always return 0.

PerformanceResourceTiming.redirectStart Read only

A DOMHighResTimeStamp that represents the start time of the fetch which initiates the redirect.

PerformanceResourceTiming.redirectEnd Read only

A DOMHighResTimeStamp immediately after receiving the last byte of the response of the last redirect.

PerformanceResourceTiming.fetchStart Read only

A DOMHighResTimeStamp immediately before the browser starts to fetch the resource.

PerformanceResourceTiming.domainLookupStart Read only

A DOMHighResTimeStamp immediately before the browser starts the domain name lookup for the resource.

PerformanceResourceTiming.domainLookupEnd Read only

A DOMHighResTimeStamp representing the time immediately after the browser finishes the domain name lookup for the resource.

PerformanceResourceTiming.connectStart Read only

A DOMHighResTimeStamp immediately before the browser starts to establish the connection to the server to retrieve the resource.

PerformanceResourceTiming.connectEnd Read only

A DOMHighResTimeStamp immediately after the browser finishes establishing the connection to the server to retrieve the resource.

PerformanceResourceTiming.secureConnectionStart Read only

A DOMHighResTimeStamp immediately before the browser starts the handshake process to secure the current connection.

PerformanceResourceTiming.requestStart Read only

A DOMHighResTimeStamp immediately before the browser starts requesting the resource from the server.

PerformanceResourceTiming.responseStart Read only

A DOMHighResTimeStamp immediately after the browser receives the first byte of the response from the server.

PerformanceResourceTiming.responseEnd Read only

A DOMHighResTimeStamp immediately after the browser receives the last byte of the resource or immediately before the transport connection is closed, whichever comes first.

PerformanceResourceTiming.transferSize Read only

A number representing the size (in octets) of the fetched resource. The size includes the response header fields plus the response payload body.

PerformanceResourceTiming.encodedBodySize Read only

A number representing the size (in octets) received from the fetch (HTTP or cache), of the payload body, before removing any applied content-codings.

PerformanceResourceTiming.decodedBodySize Read only

A number that is the size (in octets) received from the fetch (HTTP or cache) of the message body, after removing any applied content-codings.

PerformanceResourceTiming.serverTiming Read only

An array of PerformanceServerTiming entries containing server timing metrics.

Methods

PerformanceResourceTiming.toJSON()

Returns a DOMString that is the JSON representation of the PerformanceResourceTiming object.

Example

See the example in Using the Resource Timing API.

Specifications

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
PerformanceResourceTiming
29
12
31
10
16
11
≤37
29
31
16
11
2.0
connectEnd
43
12
31
10
32
11
43
43
31
32
11
4.0
connectStart
43
12
31
10
32
11
43
43
31
32
11
4.0
decodedBodySize
54
17
45
No
41
No
54
54
45
41
No
6.0
domainLookupEnd
43
12
31
10
30
11
43
43
31
30
11
4.0
domainLookupStart
43
12
31
10
30
11
43
43
31
30
11
4.0
encodedBodySize
54
17
45
No
41
No
54
54
45
41
No
6.0
fetchStart
43
12
31
10
30
11
43
43
31
30
11
4.0
initiatorType
43
12
31
10
30
11
43
43
31
30
11
4.0
nextHopProtocol
61
17
45
No
48
11
61
61
45
45
11
8.0
redirectEnd
43
12
31
10
30
11
43
43
31
30
11
4.0
redirectStart
43
12
31
10
30
11
43
43
31
30
11
4.0
requestStart
43
12
31
10
30
11
43
43
31
30
11
4.0
responseEnd
43
12
31
10
30
11
43
43
31
30
11
4.0
responseStart
43
12
31
10
30
11
43
43
31
30
11
4.0
secureConnectionStart
43
18
31
No
30
11
43
43
31
30
11
4.0
serverTiming
65
79
61
No
52
No
65
65
61
47
No
9.0
toJSON
43
16
34
No
30
11
43
43
34
30
11
4.0
transferSize
54
17
45
No
41
No
54
54
45
41
No
6.0
worker_support
43
15
60
No
32
12
43
43
60
32
No
4.0
workerStart
43
16
58
No
32
11
43
43
58
32
11
4.0

See also

© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming