页面资源加载时间轴

 timing属性指向一个对象,包含了各种与浏览器性能有关的时间数据,提供浏览器处理网页各个阶段的耗时。
  • navigationStart:当前浏览器窗口的前一个网页关闭,发生unload事件时的Unix毫秒时间戳。如果没有前一个网页,则等于fetchStart属性。

  • redirectStart:返回第一个HTTP跳转开始时的Unix毫秒时间戳。如果没有跳转,或者不是同一个域名内部的跳转,则返回值为0。

  • redirectEnd:返回最后一个HTTP跳转结束时(即跳转回应的最后一个字节接受完成时)的Unix毫秒时间戳。如果没有跳转,或者不是同一个域名内部的跳转,则返回值为0。

  • fetchStart:返回浏览器准备使用HTTP请求读取文档时的Unix毫秒时间戳。该事件在网页查询本地缓存之前发生。

  • domainLookupStart:返回域名查询开始时的Unix毫秒时间戳。如果使用持久连接,或者信息是从本地缓存获取的,则返回值等同于fetchStart属性的值。

  • domainLookupEnd:返回域名查询结束时的Unix毫秒时间戳。如果使用持久连接,或者信息是从本地缓存获取的,则返回值等同于fetchStart属性的值。

  • connectStart:返回HTTP请求开始向服务器发送时的Unix毫秒时间戳。如果使用持久连接(persistent connection),则返回值等同于fetchStart属性的值。

  • connectEnd:返回浏览器与服务器之间的连接建立时的Unix毫秒时间戳。如果建立的是持久连接,则返回值等同于fetchStart属性的值。连接建立指的是所有握手和认证过程全部结束。

  • secureConnectionStart:返回浏览器与服务器开始安全链接的握手时的Unix毫秒时间戳。如果当前网页不要求安全连接,则返回0。

  • requestStart:返回浏览器向服务器发出HTTP请求时(或开始读取本地缓存时)的Unix毫秒时间戳。

  • responseStart:返回浏览器从服务器收到(或从本地缓存读取)第一个字节时的Unix毫秒时间戳。

  • responseEnd:返回浏览器从服务器收到(或从本地缓存读取)最后一个字节时(如果在此之前HTTP连接已经关闭,则返回关闭时)的Unix毫秒时间戳。

  • domLoading:返回当前网页DOM结构开始解析时的Unix毫秒时间戳。

  • domInteractive:返回当前网页DOM结构结束解析、开始加载内嵌资源时的Unix毫秒时间戳。

  • domContentLoadedEventStart:返回当前网页DOMContentLoaded事件发生时(即DOM结构解析完毕、所有脚本开始运行时)的Unix毫秒时间戳。

  • domContentLoadedEventEnd:返回当前网页所有需要执行的脚本执行完成时的Unix毫秒时间戳。

  • domComplete:返回当前网页DOM结构生成时的Unix毫秒时间戳。

  • loadEventStart:返回当前网页load事件的回调函数开始时的Unix毫秒时间戳。如果该事件还没有发生,返回0。

  • loadEventEnd:返回当前网页load事件的回调函数运行结束时的Unix毫秒时间戳。如果该事件还没有发生,返回0。

  • "startTime“: timing.navigationStart || timing.fetchStart
  • "unload": timing.unloadEventEnd - timing.unloadEventStart, //上个文档的卸载时间
  • "redirect": timing.redirectEnd - timing.redirectStart, //*重定向时间
  • "dns": timing.domainLookupEnd - timing.domainLookupStart, //*DNS查询时间
  • "tcp": timing.connectEnd - timing.connectStart, //*服务器连接时间
  • "request": timing.responseStart - timing.requestStart, //*服务器响应时间
  • "white": timing.responseStart - startTime, //*白屏时间
  • "response": timing.responseEnd - timing.responseStart, //*网页下载时间
  • "paint": me.getFirstPaintTime() - startTime, //*首次渲染时间

  • "dom": timing.domContentLoadedEventStart - timing.domLoading, //dom ready时间(阶段)
  • "domReady": timing.domContentLoadedEventStart - startTime, //*dom ready时间(总和)
  • "load": timing.loadEventStart - timing.domLoading, //onload时间(阶段)
  • "onload": timing.loadEventStart - startTime, //*onload时间(总和)
  • "contentLoad": timing.domContentLoadedEventEnd - timing.domContentLoadedEventStart,//DOMContentLoaded时间(阶段)
  • "contentLoaded": timing.domContentLoadedEventEnd - startTime,//DOMContentLoaded时间(总和)
  • "all": timing.loadEventEnd - startTime //整个过程的时间之和
 浏览器获取网页时,会对网页中每一个对象(脚本文件、样式表、图片文件等等)发出一个HTTP请求。performance.getEntries方法以数组形式,返回这些请求的时间统计信息。
  • performance.navigation.type:返回一个整数值,表示网页的加载来源

0:网页通过点击链接、地址栏输入、表单提交、脚本操作等方式加载,相当于常数 performance.navigation.TYPE_NAVIGATENEXT。

1:网页通过“重新加载”按钮或者location.reload()方法加载,相当于常数performance.navigation.TYPE_RELOAD。

2:网页通过“前进”或“后退”按钮加载,相当于常数performance.navigation.TYPE_BACK_FORWARD。

255:任何其他来源的加载,相当于常数performance.navigation.TYPE_UNDEFINED。

  • performance.navigation.redirectCount:当前网页经过了多少次重定向跳转

页面监控

By qiaoshuyi

页面监控

  • 1,453