粥里有勺糖

vuePress-theme-reco 粥里有勺糖    2018 - 2023
粥里有勺糖 粥里有勺糖

Choose mode

  • dark
  • auto
  • light
关于我
备战春秋
  • 心得总结
  • 校招考点汇总
  • 面经汇总
  • 复习自查
技术笔记
  • 技术教程
  • 模板工程
  • 源码学习
  • 技术概念
  • 个人作品
  • 学习笔记
计算机基础
  • 算法与数据结构
  • 操作系统
  • 计算机网络
  • 设计模式
  • 剑指offer
大前端
  • javascript
  • vue
  • html
  • css
  • 🌏浏览器专题
  • Web性能优化
  • regexp
  • node
面试
  • 问解
  • javascript
  • css
  • 手撕代码
  • 性能优化
  • 综合问题
  • 面经汇总
  • 小程序
手撕代码
  • 数据结构与算法
  • javascript
  • css
个人站点
  • GitHub (opens new window)
  • 博客园 (opens new window)
  • 掘金 (opens new window)
线上作品
  • 轻取(文件收集) (opens new window)
  • 个人图床 (opens new window)
  • 考勤小程序 (opens new window)
  • 时光恋人 (opens new window)
  • 在线简历生成 (opens new window)
留言板
Github (opens new window)
author-avatar

粥里有勺糖

285

文章

40

标签

关于我
备战春秋
  • 心得总结
  • 校招考点汇总
  • 面经汇总
  • 复习自查
技术笔记
  • 技术教程
  • 模板工程
  • 源码学习
  • 技术概念
  • 个人作品
  • 学习笔记
计算机基础
  • 算法与数据结构
  • 操作系统
  • 计算机网络
  • 设计模式
  • 剑指offer
大前端
  • javascript
  • vue
  • html
  • css
  • 🌏浏览器专题
  • Web性能优化
  • regexp
  • node
面试
  • 问解
  • javascript
  • css
  • 手撕代码
  • 性能优化
  • 综合问题
  • 面经汇总
  • 小程序
手撕代码
  • 数据结构与算法
  • javascript
  • css
个人站点
  • GitHub (opens new window)
  • 博客园 (opens new window)
  • 掘金 (opens new window)
线上作品
  • 轻取(文件收集) (opens new window)
  • 个人图床 (opens new window)
  • 考勤小程序 (opens new window)
  • 时光恋人 (opens new window)
  • 在线简历生成 (opens new window)
留言板
Github (opens new window)
  • Performance

    • 性能优化
    • 网络层面优化
    • CDN的缓存与回源机制
    • DNS 预解析
    • 图片优化
    • 懒加载与执行
    • 监控
    • 资源预加载
    • 页面预渲染
    • 服务端渲染
    • 节流与防抖

监控

vuePress-theme-reco 粥里有勺糖    2018 - 2023

监控

粥里有勺糖 2020-04-14 大前端性能优化

# 监控

一般分为三种:

  • 页面埋点
  • 性能监控
  • 异常监控

# 页面埋点

  • PV / UV (opens new window)
    • page view 与 unique visitor,用户访问的数量与独立访客数
  • 停留时长
  • 流量来源
  • 用户交互

# 手写埋点

自主选择需要监控的数据然后在相应的地方写入代码。

缺点

工作量较大,每个需要监控的地方都得插入代码

# 无埋点

统计所有发生的事件并定时上报,然后服务端对数据进行过滤得出需要的数据

可以采用事件代理的方式监听页面中所需的事件

# 性能监控

使用Performance API (opens new window)来实现

关键时间节点: performance.timing 或者 performance.getEntriesByType('navigation')

通过时间节点之间的差值,得出某个过程所花费的时间

图片

名称 计算
DNS查询耗时 domainLookupEnd-domainLookupStart
TCP连接耗时 connectEnd-connectStart
内容加载耗时 responseEnd-connectStart
首包时间 responseStart-domainLookupStart
白屏时间(首次渲染时间) responseEnd-fetchStart
首次可交互时间 domInteractive-fetchStart
HTML加载完成 domContentLoaded - fetchStart
页面完全加载 loadEventStart-fetchStart

# 异常监控

# 代码报错

使用 window.onerror 拦截报错,可以拦截大部分详细报错信息

特殊

  • 跨域代码显示:Script error,可以通过为script添加的crossorigin 属性解决

# 接口异常上报

  • 可以通过img 标签的 src 发起一个请求
Edit this page (opens new window)
Last Updated: 2022/5/15 12:46:34