你们前端项目是怎么做监控(埋点)的?都监控哪些维度的数据呢?
前端监控通常涵盖以下几个方面,每个方面又细分不同的维度:
1. 页面性能监控: 主要关注页面加载、渲染、交互的性能指标。
- 加载时间: 包括 DNS 解析时间、TCP 连接时间、SSL 握手时间、TTFB (Time to First Byte)、First Paint、First Contentful Paint、First Meaningful Paint、Largest Contentful Paint、DOMContentLoaded、Load 等。
- 资源加载情况: 各个静态资源(JS、CSS、图片等)的加载时间、大小、成功率等。
- 页面渲染性能: FPS (Frames Per Second)、长任务、布局抖动、重排重绘等。
- API 请求性能: 接口请求的耗时、成功率、错误码等。
- 白屏时间: 用户看到白屏的时长。
- 首屏时间: 首屏内容加载完成的时间。
2. 用户行为监控: 追踪用户在页面上的各种交互行为,用于分析用户行为模式和优化产品设计。
- PV/UV: 页面浏览量和独立访客数。
- 点击事件: 记录用户点击了哪些元素,例如按钮、链接等。
- 页面停留时间: 用户在每个页面的停留时长。
- 滚动深度: 用户在页面上的滚动深度,可以了解用户对页面内容的关注程度。
- 表单提交: 表单的提交次数、成功率、填写时长等。
- 鼠标移动轨迹 (Heatmap): 用户的鼠标移动轨迹,可以直观地看到用户关注的区域。
- 用户自定义事件: 根据业务需求自定义的事件,例如视频播放、商品加入购物车等。
3. 错误监控: 捕捉前端代码运行时的错误,以便及时修复 bug。
- JS 错误: JavaScript 代码的运行时错误,包括语法错误、逻辑错误等。
- 资源加载错误: 静态资源加载失败的错误。
- Promise 错误: Promise 对象的 reject 错误。
- Ajax 请求错误: Ajax 请求失败的错误。
- 控制台错误信息(Console Error): 记录 console.error() 输出的信息。
4. 设备和浏览器信息: 收集用户使用的设备和浏览器信息,用于兼容性测试和用户画像分析。
- 浏览器类型和版本: 例如 Chrome、Firefox、Safari 等。
- 操作系统: 例如 Windows、macOS、Android、iOS 等。
- 设备类型: 例如桌面电脑、手机、平板等。
- 屏幕分辨率: 用户的屏幕分辨率。
- 网络类型: 例如 Wi-Fi、4G、5G 等。
前端埋点方案:
- 手动埋点: 在代码中手动添加埋点代码,例如使用
console.log()
、window.dataLayer.push()
等方法。优点是灵活可控,缺点是工作量大,容易出错。 - 无埋点: 自动采集所有用户行为数据,无需手动添加埋点代码。优点是方便快捷,缺点是数据量大,需要进行筛选和分析。
- 可视化埋点: 通过可视化工具配置埋点规则,自动生成埋点代码。优点是方便快捷,易于维护,缺点是灵活性不如手动埋点。
常用工具和平台:
- Sentry: 错误监控和性能监控平台。
- Google Analytics: 网站流量分析工具。
- 百度统计: 网站流量分析工具。
- GrowingIO: 用户行为分析平台。
- 神策数据: 用户行为分析平台。
选择哪种监控方案和工具取决于项目的具体需求和规模。小型项目可以使用简单的埋点方案和免费工具,大型项目则需要更完善的监控系统和专业的监控平台。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY