美文网首页
前端性能监控performance对象解析

前端性能监控performance对象解析

作者: 竹香书画 | 来源:发表于2018-11-27 11:31 被阅读0次

    前端性能监控对象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对象解析

          本文链接:https://www.haomeiwen.com/subject/nqowqqtx.html