概述
透视宝在时间指标方面一共有10个指标。商智方面有4个指标。
透视宝时间指标说明
- 首屏时间:浏览器显示第一屏页面的时间,用来判断用户看到第一屏内容的时间,是衡量用户体验重要指标。
- 终端用户响应时间:从用户发起请求到浏览器对页面进行渲染完成所需要的全部时间。
- 首字节时间:用户发起请求的时间与浏览器接收到第一个响应字节的时间之间的间隔。
- 服务器连接时间:用户发起请求的时间与开始提取服务器响应文档的时间之间的间隔,包括重定向、域名查询、TCP连接和SSL握手的时间。
- 响应可用时间:开始处理来自浏览器请求的时间到浏览器接收该响应的时间之间的间隔,包括网络中从用户的浏览器到服务器所用的时间。
- 前端时间:文本响应的第一个字节抵达的时间到浏览器完成响应页面的渲染的时间之间的间隔。
- DOM准备时间:准备好完整的HTML文档(DOM),使其可用的时间。
- HTML下载时间:浏览器下载完整的HTML文档内容所需要的时间。
- DOM建立时间:浏览器建立文档对象模型(DOM)所需要的时间。
- 页面渲染时间:浏览器对剩余资源完成下载所需要的时间,包括图片资源下载和页面渲染完成的时间。
时间指标计算的基本手段
利用浏览器Window.performance.timing和相应的事件,获取到想要的时间戳,再利用时间戳相减得到相应的时间指标。
借助Window.performance.timing只读属性取到一个PerformanceTiming对象,这个对象包含了页面相关的性能信息,兼容性IE 9及以上。
另外借助浏览器事件(如onload事件)完善数据的采集。
PerformanceTiming对象一共包含21个属性,每个属性是一个时间戳,如PerformanceTiming.navigationStart表示的是是一个无符号long long 型的毫秒数,表征了从同一个浏览器上下文的上一个文档卸载(unload)结束时的UNIX时间戳。
鉴于PerformanceTiming内一共包含21个具有不同时间段的时间戳,其中两两相减就能得到一个时间指标,如果一个不少全部采集,数据量很大,通常重点选择能直接量化用户时间感受的以及能帮助技术衡量页面性能的指标进行采集。
透视宝和商智前端监控系统时间指标对比
总结
通过上表对比可知,透视宝在数据采集虽然也是有所选择,但是指标更多、更细,好处是可以满足更追求细节化的技术分析需求(某些指标在前端的角度来看,实际解决问题时是否存在这样的需求还是未知的),可以制作出更漂亮更丰富的图表。缺点是里面的大部分数据均严格依赖PerformanceTiming,低端浏览器(IE9以下)没有替代方案。