PerformanceResourceTiming

PerformanceResourceTiming接口可以检索和分析有关加载应用程序资源的详细网络计时数据。 应用程序可以使用timing指标来确定获取特定资源所需的时间长度,例如XMLHttpRequest<SVG>,image或script。
这个接口使用high-resolution timestamps 属性创建加载资源时间轴,用于网络事件,例如重定向开始( redirect start )和结束时间,获取开始( fetch start ),DNS查找开始( DNS lookup start )和结束时间,响应开始( response start )和结束时间等。此外,接口扩展PerformanceEntry与其他属性,这些属性提供有关获取资源大小的数据以及初始化时获取的资源类型。

Note: 此特性在 Web Worker 中可用。

属性

此接口通过限定和约束PerformanceEntry属性来扩展资源性能条目类型,如下所示:

 PerformanceEntry.entryType只读
返回 "resource".
PerformanceEntry.name只读
返回 resources URL.
PerformanceEntry.startTime (en-US)只读
在资源提取开始的时间返回timestamp。该值等于PerformanceEntry.fetchStart (en-US)
PerformanceEntry.duration只读
返回timestamp,它是responseEnd (en-US)startTime (en-US)属性之间的差异。

该接口还支持以下属性,这些属性按记录顺序列出以获取单个资源。 按字母顺序排列的列表显示在左侧的导航栏中。

PerformanceResourceTiming.initiatorType (en-US)只读
返回string,表示初始化性能条目的资源类型,如PerformanceResourceTiming.initiatorType (en-US)中所规定。
PerformanceResourceTiming.nextHopProtocol (en-US)只读
返回string ,表示用于获取资源的网络协议,由ALPN Protocol ID (RFC7301)标识。
PerformanceResourceTiming.workerStart (en-US)只读
如果Service Worker线程已在运行,则在调用FetchEvent之前立即返回DOMHighResTimeStamp,如果尚未运行,则在启动Service Worker线程之前立即返回DOMHighResTimeStamp。 如果资源未被Service Worker拦截,则该属性将始终返回0。
PerformanceResourceTiming.redirectStart (en-US)只读
返回DOMHighResTimeStamp, 表示初始重定向的开始获取时间。
PerformanceResourceTiming.redirectEnd (en-US)只读
返回DOMHighResTimeStamp ,紧接在收到最后一次重定向响应的最后一个字节后。
PerformanceResourceTiming.fetchStart (en-US)只读
返回DOMHighResTimeStamp ,紧接在浏览器开始获取资源之前。
PerformanceResourceTiming.domainLookupStart (en-US)只读
返回DOMHighResTimeStamp,紧接在浏览器启动资源的域名查找之前。
PerformanceResourceTiming.domainLookupEnd (en-US)只读
返回DOMHighResTimeStamp ,表示浏览器完成资源的域名查找后的时间。
PerformanceResourceTiming.connectStart (en-US)只读
返回DOMHighResTimeStamp ,紧接在浏览器检索资源,开始建立与服务器的连接之前。
PerformanceResourceTiming.connectEnd (en-US)只读
返回DOMHighResTimeStamp ,紧接在浏览器完成与服务器的连接以检索资源之后。
PerformanceResourceTiming.secureConnectionStart (en-US)只读
返回DOMHighResTimeStamp ,紧接在浏览器启动握手过程之前,以保护当前连接。
PerformanceResourceTiming.requestStart (en-US)只读
返回DOMHighResTimeStamp ,紧接在浏览器开始从服务器请求资源之前。
PerformanceResourceTiming.responseStart (en-US)只读
返回DOMHighResTimeStamp ,紧接在浏览器收到服务器响应的第一个字节后。
PerformanceResourceTiming.responseEnd (en-US)只读
返回DOMHighResTimeStamp ,紧接在浏览器收到资源的最后一个字节之后或紧接在传输连接关闭之前,以先到者为准。
PerformanceResourceTiming.transferSize (en-US)只读
表示获取资源的大小(以八位字节为单位)的数字。 包括响应头字段和响应payload body的大小。
PerformanceResourceTiming.encodedBodySize (en-US)只读
在删除任何应用的内容编码之前,从payload body的提取(HTTP或高速缓存)接收的大小(以八位字节为单位)的数字
PerformanceResourceTiming.decodedBodySize (en-US)只读
在删除任何应用的内容编码之后,从消息正文( message body )的提取(HTTP或缓存)接收的大小(以八位字节为单位)的数字
PerformanceResourceTiming.serverTiming (en-US)只读
包含服务器时序度量( timing metrics )的PerformanceServerTiming (en-US) 条目数组。

方法

PerformanceResourceTiming.toJSON() (en-US)
返回DOMString, 它是 PerformanceResourceTiming 对象的JSON表示形式。

Example

See the example in Using the Resource Timing API.

规范

Specification Status Comment
Resource Timing Level 1
PerformanceResourceTiming
Candidate Recommendation Initial definition.

浏览器兼容性

BCD tables only load in the browser

参考