浏览器性能数据之performance

299 阅读1分钟

performance中有多个性能指标

navigation

performance.getEntriesByte('navigation')

resource

performance.getEntriesByType('resource')

以掘金官网为例,下面是一个网络请求的性能数据

image.png

  1. domainlookupStart:dns解析开始时间
  2. domainLookupend:dns解析结束时间,二者差值为dns解析耗时
  3. 当从performance中获取的这两个值为0的时候,应该是用了跨域的接口,并在响应头里没有Timing-Allow-Origin的字段,来允许浏览器采集性能数据。
  4. connectStart:连接开始建立
  5. secureConnectionStart:TLS握手开始
  6. connectEnd:连接建立完成,也是握手结束时间
  7. fetchStart:表示浏览器获取资源的时间,非从服务器获取,而是从检查本地缓存开始
  8. workeStart:表示从service worker开始获取资源的时间,如果没有安装service worker,则是0
  9. requestStart:表示浏览器开始发起网络请求的时间
  10. responseStart:表示服务响应的第一个字节到达的时间
  11. responseEnd:表示服务器响应的最后一个字节到达时间,资源下载完成
  12. transferSize:资源传输总大小,包含header
  13. encodedBodySize: 表示压缩之后的body大小
  14. decodedBodySize: 表示解压之后的body大小

采集数据后如何上传,目前主流的做法是用navigatior.beacon,可以查阅资料进行学习!