前端性能监控performance对象解析

前端性能监控对象window.performance有四个属性

window.performance={
    memory:{
      totalJSHeapSize:'可使用内存大小',
      usedJSHeapSize:'已使用内存大小',
      jsHeapSizeLimit:'内存大小限制',
    },
    /*
      type的值:
      0  即TYPE_NAVIGATENEXT 正常进入页面(非刷新、非重定向等)
      1  即TYPE_RELOAD 通过window.location.reload()刷新的页面
      2  即TYPE_BACK_FORWARD 通过浏览器的前进后退按钮进入的页面(历史记录)
      255 即TYPE_UNDEFINED 非以上方式进入的页面
    */
    navigation:{
      redirectCount:0,//如果有重定向的话,页面通过几次重定向跳转而来
      type:0 
    },
    timing:{
      //在同一个浏览器上下文中,前一个网页(与当前页面不一定同域)unload的时间戳,如果无前一个网页unload,则与fetchStart值相等;
      navigationStart:'时间戳',
      // 前一个网页(与当前页面同域)unload的时间戳,如果无前一个网页unload或者前一个网页与当前页面不同域,则值为0
      unloadEventStart: 0,
      //  和unloadEventStart 相对应,返回前一个网页unload事件绑定的回调函数执行王弼的时间戳
      unloadEventEnd: 0,
      // 第一个HTTP重定向发生时的时间,有跳转且是同域名内部的重定向才算,否则值为0
      redirectStart: 0,
      // 最后一个HTTP重定向完成时的时间,有跳转切尔是同域名内部的重定向才算,否则值为0
      redirectEnd: 0,
      // 浏览器准备好使用HTTP请求抓取文档的时间,这发生在检查本地缓存之前
      fetchStart:'时间戳',
      // DNS域名查询开始的时间,如果使用了本地缓存(即无DNS查询)或持久连接,则与fetchStart值相等
      domainLookupStart:'时间戳',
      // DNS域名查询完成的时间,如果使用了本地缓存(即 无DNS查询)或持久连接,则与fetchStart值相等
      domainLookupEnd: '时间戳',
      // HTTP(TCP)开始建立连接的时间,如果是持久连接,则与fetchStart值相等;如果在传输层发生了错误且重新建立了连接,则这里显示的是新建立连接的时间
      connectStart: '时间戳',
      // HTTP(TCP)完成建立连接的时间(握手),如果是持久连接,则与fetchStart相等;如果是在传输层发生了错误且重新建立连接,则这里咸宁市的是新建立的连接完成的时间;这里的握手结束,包括了安全连接建立完成,SOCKS授权通过;
      connectEnd: '时间戳',
      // HTTPS连接开始的时间,如果不是安全连接,则值为0;
      secureConnectionStart: 0,
      // HTTP请求读取真实文档开始的时间(完成建立连接),包括从本地读取缓存,连接错误时这里显示的是新建立的连接的时间
      requestStart:'时间戳',
      // HTTP开始接收响应的时间(获取到第一个字节),包括从本地读取缓存
      responseStart:'时间戳',
      // HTTP响应全部接收完毕的时间(获取到最后一个字节),包括从本地读取的缓存
      responseEnd:0,
      // 开始解析渲染DOM树的时间,此时Document.readyState变为interactive,并将抛出readystatechange相关事件(这里只是DOM树解析完毕,这时候并没有开始加载网页内的资源)
      domLoading:0,
      // 完成解析DOM树的时间,Document,readyState变为interactive,并将抛出readystatechange相关事件(这时候并没有开始加载网页资源)
      dominteractive:0,
      // DOM解析完成后,网页内资源加载开始的时间,在DOMContentLoaded事件抛出之前发生
      domContentLoadedEventStart:0,
      // DOM解析完成后,网页内资源加载完成的时间
      domContentLoadedEventEnd:0,
      // DOM树解析完成,且资源也准备就绪的时间,Document.readyState变为complete,并将抛出readystatechange相关事件
      domComplete:0,
      // load事件发送给文档,也即load回调函数开始执行的时间,如果没有绑定load事件,值为0
      loadEventStart:0,
      // load事件的回调函数执行完毕的时间
      loadEventEnd:0
    }
}

你可能感兴趣的:(前端性能监控performance对象解析)