页面监控指标

h5提供内置的performance对象,对页面的加载时间,内存消耗和浏览器状态。

1.内存消耗

memory : {

  usedJSHeapSize :    16100000 , // JS 对象(包括V8引擎内部对象)占用的内存,一定小于 totalJSHeapSize

  totalJSHeapSize : 35100000 , // 可使用的内存

  jsHeapSizeLimit : 793000000 // 内存大小限制

}

2.页面的来源信息

navigation : {

redirectCount : 0 , // 如果有重定向的话,页面通过几次重定向跳转而来

type : 0            // 0   即 TYPE_NAVIGATENEXT 正常进入的页面(非刷新、非重定向等)

                    // 1   即 TYPE_RELOAD  通过 window.location.reload() 刷新的页面

                    // 2   即 TYPE_BACK_FORWARD 通过浏览器的前进后退按钮进入的页面(历史记录)

                    // 255 即 TYPE_UNDEFINED    非以上方式进入的页面

} ,

3.各个时间段的时间。

3.1第一阶段。去获取最终页面之前的浏览器消耗的时间

// 在同一个浏览器上下文中,前一个网页(与当前页面不一定同域)unload 的时间戳,如果无前一个网页 unload ,则与 fetchStart 值相等

navigationStart : 1441112691935 ,

// 前一个网页(与当前页面同域)unload 的时间戳,如果无前一个网页 unload 或者前一个网页与当前页面不同域,则值为 0

unloadEventStart : 0 ,

// 和 unloadEventStart 相对应,返回前一个网页 unload 事件绑定的回调函数执行完毕的时间戳

unloadEventEnd : 0 ,

3.2第二阶段。 重定向消耗的时间

// 第一个 HTTP 重定向发生时的时间。有跳转且是同域名内的重定向才算,否则值为 0

redirectStart : 0 ,

// 最后一个 HTTP 重定向完成时的时间。有跳转且是同域名内部的重定向才算,否则值为 0

redirectEnd : 0 ,

3.3 第三阶段。去DNS消耗的时间

// 浏览器准备好使用 HTTP 请求抓取文档的时间,这发生在检查本地缓存之前

fetchStart : 1441112692155 ,

// DNS 域名查询开始的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等

domainLookupStart : 1441112692155 ,

// DNS 域名查询完成的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等

domainLookupEnd : 1441112692155 ,

3.4 第四阶段。建立TCP连接消耗的时间

  // HTTP(TCP) 开始建立连接的时间,如果是持久连接,则与 fetchStart 值相等

  // 注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接开始的时间

  connectStart : 1441112692155 ,

  // HTTP(TCP) 完成建立连接的时间(完成握手),如果是持久连接,则与 fetchStart 值相等

  // 注意如果在传输层发生了错误且重新建立连接,则这里显示的是新建立的连接完成的时间

  // 注意这里握手结束,包括安全连接建立完成、SOCKS 授权通过

  connectEnd : 1441112692155 ,

  // HTTPS 连接开始的时间,如果不是安全连接,则值为 0

  secureConnectionStart : 0 ,

3.5 数据发送和接收过程

// HTTP 请求读取真实文档开始的时间(完成建立连接),包括从本地读取缓存

// 连接错误重连时,这里显示的也是新建立连接的时间

requestStart : 1441112692158 ,

// HTTP 开始接收响应的时间(获取到第一个字节),包括从本地读取缓存

responseStart : 1441112692686 ,

// HTTP 响应全部接收完成的时间(获取到最后一个字节),包括从本地读取缓存

responseEnd : 1441112692687 ,

3.6 解析dom树的过程

  // 开始解析渲染 DOM 树的时间,此时 Document.readyState 变为 loading,并将抛出 readystatechange 相关事件

  domLoading : 1441112692690 ,

  // 完成解析 DOM 树的时间,Document.readyState 变为 interactive,并将抛出 readystatechange 相关事件

  // 注意只是 DOM 树解析完成,这时候并没有开始加载网页内的资源

  domInteractive : 1441112693093 ,

dom树解析完成触发DOMContentLoaded事件。

3.7 加载资源的过程

  // DOM 树解析完成,且资源也准备就绪的时间,Document.readyState 变为 complete,并将抛出 readystatechange 相关事件

  domComplete : 1441112693214 ,

  // load 事件发送给文档,也即 load 回调函数开始执行的时间

  // 注意如果没有绑定 load 事件,值为 0

  loadEventStart : 1441112693214 ,

  // load 事件的回调函数执行完毕的时间

  loadEventEnd : 1441112693215

4.通过performance.now()来计算程序执行的时间。

performance.now()返回了以微秒(百万分之一秒)为单位的时间,它比Date()更加精确,同时执行不受到环境的影响。

function getFunctionTimeWithPerformance ( func ) {   

    var timeStart = window . performance . now ( ) ;

    // 执行开始

    func ( ) ;

    // 执行结束

    var timeEnd = window . performance . now ( ) ;

    // 返回执行时间

    return ( timeEnd - timeStart ) ;

}
时间: 2024-12-10 11:43:45

页面监控指标的相关文章

性能测试-监控指标数据分析

监控指标数据分析 1.最大并发用户数: 应用系统在当前环境(硬件环境.网络环境.软件环境(参数配置))下能承受的最大并发用户数. 在方案运行中,如果出现了大于3个用户的业务操作失败,或出现了服务器shutdown的情况,则说明在当前环境下,系统承受不了当前并发用户的负载压力,那么最大并发用户数就是前一个没有出现这种现象的并发用户数. 如果测得的最大并发用户数到达了性能要求,且各服务器资源情况良好,业务操作响应时间也达到了用户要求,那么OK.否则,再根据各服务器的资源情况和业务操作响应时间进一步分

MySQL 监控指标

为了排查问题,对数据库的监控是必不可少的,在此介绍下 MySQL 中的常用监控指标. 简介 MySQL 有多个分支版本,常见的有 MySQL.Percona.MariaDB,各个版本所对应的监控项也会有些区别,在此仅介绍一些通用的监控项. 通常,监控项的源码是在 mysql/mysqld.cc 文件中定义,其内容如下所示. SHOW_VAR status_vars[]= { {"Aborted_clients", (char*) &aborted_threads, SHOW_L

Haproxy做LB负载均衡集群的搭建和配置,可以通过web页面监控web服务器的运行状态

HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理. 实验(一) 实验目的:使用Haproxy做负载均衡集群(七层) 实验环境准备: 客户端  IP地址:1.1.1.1 主机名waiwang web1   IP地址:1.1.1.10 主机名:localhost web2   IP地址:1.1.1.20 主机名:localhost 配置HA

监控指标分类汇总归纳

监控维度 监控方向 监控指标 作用 业务监控指标 交易量监控 交易量 反映业务系统的交易量大小 交易成功率监控 交易成功率 反映业务交易执行是否正常 交易性能监控 交易时长 反映业务系统的交易的性能是否正常 应用监控指标 Web应用错误监控 Web应用返回码 反映Web应用运行是否有异常 应用性能监控 应用响应时间 反映应用的性能状况 应用负载监控 会话数.会话连接 反映应用的可用性及负载 网络监控指标 网络流量监控 流量监控 反映业务的流量状况 网络性能监控 重传.丢包率.拥塞 反映网络传输质

apache kafka系列之-监控指标

apache kafka中国社区QQ群:162272557 1.监控目标 1.当系统可能或处于亚健康状态时及时提醒,预防故障发生 2.报警提示 a.短信方式 b.邮件 2.监控内容 2.1 机器监控 Kafkaserver指标 CPU Load Disk IO Memory 磁盘log.dirs文件夹下数据文件大小,要有定时清除策略 2.2 JVM监控 主要监控JAVA的 GC time(垃圾回收时间).JAVA的垃圾回收机制对性能的影响比較明显 2.3 Kafka系统监控 1.Kafka整体监

mysql主要性能监控指标

1.系统mysql的进程数 ps -ef | grep "mysql" | grep -v "grep" | wc –l 2.Slave_running mysql > show status like 'Slave_running'; 如果系统有一个从复制服务器,这个值指明了从服务器的健康度 3.Threads_connected mysql > show status like 'Threads_connected'; 当前客户端已连接的数量.这个值

JMX对weblogic的监控指标小结

weblogicServier实现了JMX规范,提供了各种各样的MBeans对WebLogic Server的各项配置及性能进行监控的API. 通过weblogic提供的API可以对server(服务),cluster(集群)等进行监控.下面主要罗列对server进行监控的指标. 1.常用一般监控指标 指标名 指标描述 MBean属性 服务状态 此服务器的当前生命周期状态.例如,服务器可以处于 RUNNING 状态,在该状态下,它可以接收和处理请求,也可以处于 ADMIN 状态,在该状态下,它只

Java程序监控指标

监控指标: 1.CPU平均使用率 2.内存平均使用率 3.应用程序错误数 4.应用程序请求量 5.应用平均响应时间 6.硬件I/O指标 7.JMX 7.1.Full gc count 7.2.Full gc time 7.3.Young gc count 7.4.Young gc time 7.5.Heap memory used 7.6.threads 7.7.Eden,survivor 7.8.Old generation 原文地址:https://www.cnblogs.com/frank

常见的机器负载监控指标

概述 机器负载是否正常,经常需要监控的指标有如下4个: <1> cpu <2> memory <3> IO <4> network 关于cpu的监控 a. load average,cpu的负载 linux进程的状态分类可以粗略地分为 blocking process, runnable process,running process.分别为等待IO资源,或者自己调用了wait和sleep系列的函数被挂起的进程:所有资源都就位了,就等cpu的进程:正在cpu