PerformanceResourceTiming
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2017.
PerformanceResourceTiming 接口可以检索和分析有关加载应用程序资源的详细网络计时数据。应用程序可以使用 timing 指标来确定获取特定资源所需的时间长度,例如XMLHttpRequest
,<SVG>
,image 或 script。这个接口使用high-resolution timestamps
属性创建加载资源时间轴,用于网络事件,例如重定向开始 ( redirect start ) 和结束时间,获取开始 ( fetch start ),DNS 查找开始 ( DNS lookup start ) 和结束时间,响应开始 ( response start ) 和结束时间等。此外,接口扩展PerformanceEntry
与其他属性,这些属性提供有关获取资源大小的数据以及初始化时获取的资源类型。
备注: 此特性在 Web Worker 中可用。
属性
此接口通过限定和约束PerformanceEntry
属性来扩展资源性能条目类型,如下所示:
PerformanceEntry.entryType
只读-
返回
"resource"
. PerformanceEntry.name
只读-
返回 resources URL.
PerformanceEntry.startTime
只读-
在资源提取开始的时间返回
timestamp
。该值等于PerformanceEntry.fetchStart
。 PerformanceEntry.duration
只读-
返回
timestamp
,它是responseEnd
和startTime
属性之间的差异。
该接口还支持以下属性,这些属性按记录顺序列出以获取单个资源。按字母顺序排列的列表显示在左侧的导航栏中。
PerformanceResourceTiming.initiatorType
只读-
返回
string
,表示初始化性能条目的资源类型,如PerformanceResourceTiming.initiatorType
中所规定。 PerformanceResourceTiming.nextHopProtocol
只读-
返回
string
,表示用于获取资源的网络协议,由ALPN Protocol ID (RFC7301)标识。 PerformanceResourceTiming.workerStart
只读-
如果 Service Worker 线程已在运行,则在调用
FetchEvent
之前立即返回DOMHighResTimeStamp
,如果尚未运行,则在启动 Service Worker 线程之前立即返回DOMHighResTimeStamp
。如果资源未被 Service Worker 拦截,则该属性将始终返回 0。 PerformanceResourceTiming.redirectStart
只读-
返回
DOMHighResTimeStamp
,表示初始重定向的开始获取时间。 PerformanceResourceTiming.redirectEnd
只读-
返回
DOMHighResTimeStamp
,紧接在收到最后一次重定向响应的最后一个字节后。 PerformanceResourceTiming.fetchStart
只读-
返回
DOMHighResTimeStamp
,紧接在浏览器开始获取资源之前。 PerformanceResourceTiming.domainLookupStart
只读-
返回
DOMHighResTimeStamp
,紧接在浏览器启动资源的域名查找之前。 PerformanceResourceTiming.domainLookupEnd
只读-
返回
DOMHighResTimeStamp
,表示浏览器完成资源的域名查找后的时间。 PerformanceResourceTiming.connectStart
只读-
返回
DOMHighResTimeStamp
,紧接在浏览器检索资源,开始建立与服务器的连接之前。 PerformanceResourceTiming.connectEnd
只读-
返回
DOMHighResTimeStamp
,紧接在浏览器完成与服务器的连接以检索资源之后。 PerformanceResourceTiming.secureConnectionStart
只读-
返回
DOMHighResTimeStamp
,紧接在浏览器启动握手过程之前,以保护当前连接。 PerformanceResourceTiming.requestStart
只读-
返回
DOMHighResTimeStamp
,紧接在浏览器开始从服务器请求资源之前。 PerformanceResourceTiming.responseStart
只读-
返回
DOMHighResTimeStamp
,紧接在浏览器收到服务器响应的第一个字节后。 PerformanceResourceTiming.responseEnd
只读-
返回
DOMHighResTimeStamp
,紧接在浏览器收到资源的最后一个字节之后或紧接在传输连接关闭之前,以先到者为准。 PerformanceResourceTiming.transferSize
只读-
表示获取资源的大小(以八位字节为单位)的
数字
。包括响应头字段和响应 payload body 的大小。 PerformanceResourceTiming.encodedBodySize
只读-
在删除任何应用的内容编码之前,从 payload body 的提取(HTTP 或高速缓存)接收的大小(以八位字节为单位)的
数字
。 PerformanceResourceTiming.decodedBodySize
只读-
在删除任何应用的内容编码之后,从消息正文 ( message body ) 的提取(HTTP 或缓存)接收的大小(以八位字节为单位)的
数字
。 PerformanceResourceTiming.serverTiming
只读-
包含服务器时序度量 ( timing metrics ) 的
PerformanceServerTiming
条目数组。
方法
PerformanceResourceTiming.toJSON()
-
返回
DOMString
,它是PerformanceResourceTiming
对象的 JSON 表示形式。
示例
在 Resource Timing(概述)中查看相关示例。
规范
Specification |
---|
Resource Timing # resources-included-in-the-performanceresourcetiming-interface |
浏览器兼容性
BCD tables only load in the browser