这是我参与「第五届青训营 」笔记创作活动的第12天
一.什么是前端监控?
前端监控一般分为三种,分别为用户行为、性能指标以及异常实践。
二.为什么需要前端监控
在我们的网页有了前端监控的能力,使得当我们遇到以下情况时:
- 打开好慢 - 页面某个关键资源染太慢
- 交互卡顿 -- 页面同步计算任务太重,阻塞渲染
- 资源加载失败 - 客户端网络状态差,或上游服务节点异常
- 页面白屏 -- 页面脚本执行失败、关键资源加载失败、请求失败等
前端监控通过对页面数据的采集和上报,来帮助开发者更快速地对质量差的页面进行分析与归因。
三.前端监控之常用性能指标
web 性能标准的诞生
早期网页是纯静态的,但随着Web 爆发式发展,页面交互越来越复杂。开发者开始思考如何提高 Web 性能、改善用户体验。
因此,2010 年 8 月,W3C 成立了 Web 性能工作组,由来自 Google 和 Microsoft 的工程师担任主席,目标是制定衡量 Web 应用性能的方法和 API。
随后, Web 性能工作组开始制定一系列 Web 性能标准,应用到桌面和移动浏览器以及其他环境中,帮助 Web 开发人员评估和理解应用的性能特征
以用户为中心的性能指标
传统的性能指标专注于容易衡量的技术细节,但是它们很难反应出用户所真正关心的是什么。如果仅仅是把加载速度优化的更快,很快就会发现网站的用户体验依然很差 这就是创建用户为中心的性能指标的原因,它们专注于用户视角下的浏览体验
四.前端监控之前端常见异常
静态资源错误
静态资源:加载页面所需的 html、css 和 is 等文件,以及其他各类多媒体文件,如图片、音频和视频等
静态资源错误: 在拉取和加载静态资源的过程中发生了预期之外的错误,如网络异常等,导致静态资源无法正常渲染到页面上。
请求异常
Http 请求状态码分类
100 - 199-------------->信息响应
200- 299--------------->成功响应
300 - 399-------------->重定向消息
400 - 499-------------->客户端错误响应
500 - 599-------------->服务端错误响应
请求异常 =请求响应状态码 >= 400 对于通过异步请求拉取的静态资源错误也可选择归纳到请求异常
Js 错误
在页面运行时发生的 Js 错误会严重影响页面的正常渲染与交互,是前端监控的重点
白屏异常
前面几类异常都可以通过浏览器提供的标准化方法来监听到,而白屏异常没有标准化的监听方法,所以更考验前端监控开发者的功底。 通常我们可以通过判断 DOM 树的结构来粗略的判断白屏是否发生
监听到白屏发生后,我们还需要对白屏的发生进行归因 通常导致白屏发生的原因可能有如下几点
-
发生 Js 错误导致关键资源渲染失败。
-
请求异常或静态资源加载失败。
-
长时间的 Js 线程繁忙阻塞染任务