干净没有任何红色报错的控制台,就一定没有错误吗?
实际上却存在问题:
是一个 video 出错了,我没有使用 video 呀?
右键查一下源代码,原来确实有 video 不为人知的渲染了,但没有设定资源:
这就是前端监控工程化的好处!
我们采用 Aliyun 的日志上报来做收集,开通日志服务后参照官方教程:
日志服务:快速入门
在日志服务系统下方点击新建一个 Project :
建立一个 Logstore 存储数据。
数据接入 > 开启 Webtracking ,用来接收上报的日志:
之后我们就可以进行 post 或者 get 方式上报日志了,上报后即可在刚刚建立的 Logstore 内查看到数据。
上报方式:Get / Post 方法
下一步到了最关键的监控上报方法布局了,本次我们采用 18 个性能指标 + 3 种错误收集作为整体格局。
JavaScript 语法错误
资源加载错误
Promise 错误
上次页面卸载耗时
连接时间
重定向耗时
请求耗时
获取首字节时间 ( TTFB )
响应读取时间
Dom 解析时间
脚本执行时间
Dom 渲染耗时
首次可交互时间
页面完整加载时间
白屏时间
FMP ( First Meaningful Paint ) : 首次有意义的绘制
LCP ( Large Contentful Paint ) : 最大内容渲染
FP ( First Paint ) : 首次绘制时间
FCP ( First Content Paint ) : 首次内容绘制时间
FID ( First Input Delay ) : 首次交互延迟
window.performance
获取性能相关数据
window.addEventListener('error', (e) => {})
获取 JavaScript 报错信息
window.addEventListener('unhandledrejection', (e) => {})
获取 Promise 报错信息
new PerformanceObserver()
获取页面渲染、加载资源相关信息
ua-parser-js
解析 user-agent 获取用户和浏览器相关信息
上报:
控制台:
筛选看一下白屏时间:
对于有大量花哨资源的博客站点来说,没有强缓存 1.5s ,有缓存 0.8s 已经很满足了。
监控上报工程化代码:fz6m / web-performance-monitor
性能监控 + 错误收集格局瞬间就高了(笑
本文发布于:2024-02-01 03:48:52,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170673053433637.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |