前端监控与埋点

news/2025/2/27 1:41:45

一、概念

前端埋点是指在网页或者应用程序中插入特定的代码,用于收集用户的行为数据并发送给服务器进行分析。这些数据可以包括用户的点击、浏览、输入等操作,帮助开发者了解用户在其网站中的行为,从而进行针对性的优化和改进。

前端埋点通常包括以下几个步骤:

1、定义事件:定义需要收集的数据事件,如点击、浏览等。

2、添加代码:在网页或应用程序中添加特定的代码,用于收集事件数据。

3、发送数据:将收集到的数据发送给服务器进行分析。

4、分析数据:对收集到的数据进行分析和挖掘,找出用户行为规律和需求,为产品的改进和优化提供数据。

二、前端监控

(一)常见的监控

1、数据监控(主要关注用户在网站或应用中的行为和交互)

  • PV:即页面浏览量或点击量
  • UV:指访问某个站点或点击某条新闻的不同IP地址的人数
  • 用户在每一个页面的停留时间
  • 用户通过什么入口来访问该网页
  • 用户在相应的页面中触发的行为

2、性能监控(主要关注网站或应用的加载速度、响应时间和用户体验等方面)

  • 不同用户,不同机型和不同系统下的首屏加载时间
  • 白屏时间
  • http等请求的响应时间
  • 静态资源整体下载时间
  • 页面渲染时间
  • 页面交互动画完成时间

3、异常监控(主要关注网站或应用在运行过程中是否出现错误或异常)

  • JavaScript的异常监控
  • 样式丢失的异常监控

(二)性能数据

  1. unload:前一个页面卸载耗时。计算方式:unloadEventEnd - unloadEventStart
  2. redirect:重定向耗时。计算方式:redirectEnd-redirectStart。意义:重定向时间。
  3. appCache:缓存耗时。domainLookupStart - fetchStart。意义:读取缓存的时间。
  4. dns:DNS解析耗时。domainLoopupEnd - domainLookupStart。意义:观察域名解析服务是否正常。
  5. tcp:TCP连接耗时。connectEnd - connectStart。意义:建立连接的耗时。
  6. sst:SSL安全连接耗时。connectEnd - secureConnectStart。意义:反映数据安全连接建立耗时。
  7. response:响应数据传输耗时。responseEnd - responseStart。意义:观察网络是否正常。
  8. dom:DOM解析耗时,domInteractive - responseEnd。意义:观察DOM结构是否合理,是否有JS阻塞页面解析
  9. dcl:DOMContentLoaded事件耗时,domContentLoadedEventEnd - domContentLoadedEventStart。意义:当HTML文档被完全加载和解析之后,DOMContentLoaded事件被触发,无需等待样式表、图像的完成加载。
  10. resources:资源加载耗时。domComplete - domContentLoadedEventEnd。意义:可以观察文档浏览是否过大。
  11. domReady:DOM阶段渲染耗时。domContentLoadedEventEnd - fetchStart。意义:DOM树和页面加载完成时间,会触发domContentLoaded时间。
  12. 首次渲染耗时:responsedEnd - fetchStart。加载文档到看到第一帧非空图像的时间(白屏时间)
  13. 首次可交互时间:domInteractive - fetchStart。DOM树解析完成时间,此时document.readyStart为interactive
  14. 首包时间耗时:responseStart - domainLookupStart。DNS解析到响应返回给浏览器第一个字节的时间。
  15. 页面完全加载时间:loadEventStart - fetchStart
  16. onLoad:onLoad事件耗时。loadEventEnd - loadEventStart。

性能采集:Navigation Timing API - Web API | MDN


http://www.niftyadmin.cn/n/5869358.html

相关文章

tableau之网络图和弧线图

一、网络图 概念 网络图(Network Graph),也称为网络可视化,是数据可视化的一种形式,用于显示实体(节点)之间的关系(边)。这种图表通过节点和边的结构揭示数据中的复杂关…

【愚公系列】《Python网络爬虫从入门到精通》034-DataFrame简单数据计算整理

标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…

C++ 跨平台的 GetCurrentThreadId() 获取当前线程ID实现

支持:C11 及早前标准库版本,而无需使用:std::this_thread::get_id()。 支持:NDK/ANDROID、Windows、Linux、MacOS X 等多个操作系统平台。 int64_t GetCurrentThreadId() noexcept { #if defined(_WIN32) || defined(_WIN64)retu…

C++复习专题——泛型编程(模版),包括模版的全特化和偏特化

1.泛型编程 在未接触模版前,如果我们想实现一个通用的交换函数,那么我们可以通过函数重载来实现 void Swap(int &x,int &y) {int z x;x y;y z; } void Swap(float &x,float &y) {int z x;x y;y z; } void Swap(double &x,dou…

全面容器监控:构建高效稳定的K8s监控体系

随着云计算的发展,Kubernetes(简称K8s)因其卓越的功能,已然成为部署及管理容器化工作的首选“容器编排平台”。同时,由于其架构的高复杂和高动态特性,对K8s的监控和运维工作提出了更高的要求。 北京智和信通…

【嵌入式】STM32内部NOR Flash磨损平衡与掉电保护总结

1. NOR Flash与NAND Flash 先deepseek看结论: 特性Nor FlashNAND Flash读取速度快(支持随机访问,直接执行代码)较慢(需按页顺序读取)写入/擦除速度慢(擦除需5秒,写入需逐字节操作&…

Android 8.0 (API 26) 对广播机制做了哪些变化

大部分隐式广播无法通过静态注册接收,除了以下白名单广播: ACTION_BOOT_COMPLETED ACTION_TIMEZONE_CHANGED ACTION_LOCALE_CHANGED ACTION_MY_PACKAGE_REPLACED ACTION_PACKAGE_ADDED ACTION_PACKAGE_REMOVED 需要以动态注册方案替换: cl…

【AI+智造】基于DeepSeek的船舶海工设备多维度数据分析技术方案——以南通船舶制造企业为例

作者:Odoo技术开发/资深信息化负责人 日期:2025年2月25日 以下技术方案基于南通市制造业特点,结合船舶海工行业实际应用场景,针对设备数据量化分析需求展开论述。全文以技术可行性、行业适配性及实施路径为核心,深度整…