广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >js前端埋点监控解析
  • 888
分享到

js前端埋点监控解析

2024-04-02 19:04:59 888人浏览 泡泡鱼
摘要

目录一、为什么需要埋点&监控二、埋点&监控能做什么数据监控性能监控异常监控三、目前埋点方案&后续演进方向现有方案(1) 页面进入(pageIn)(2) 事件触

一、为什么需要埋点&监控

在开始正文之前,我们先想想为什么需要埋点&监控?

当我们在分析复盘一个产品是否成功的时候,不同的角色考虑的方向是不同的。

站在产品的视角,经常会问如下几个问题:

  • 1.产品有没有用户使用
  • 2.用户用得怎么样
  • 3.系统会不会经常出现异常
  • 4.如何更好地满足用户需求服务用户

当站在技术视角时,经常会问如下几个问题:

  • 1.系统出现异常的频率如何
  • 2.异常出现后如何快速进行定位追踪
  • 3.如何分析解决问题

而当站在老板的视角时,问题可能又会变为:

  • 1.我的存量用户多少,未来还有多少潜力
  • 2.多少用户在系统内进行了消费

当在回答了上述问题之后,埋点&监控便跃然纸上。因为要回答以上问题,只有通过对系统进行数据分析的方式才能弄清楚。

其实无论是埋点亦或是监控,二者并不是独立存在,而是相互依存的关系。

二、埋点&监控能做什么

从单个页面的常规数据角度出发我们可以通过埋点获取:访问次数(UV/PV)、地域数据(IP)、在线时长、区域点击次数等数据。

当我们将这些单点数据按照特定的纬度进行数据聚合,就可以获得全流程视角下的数据如:用户留存率/流转率、用户转化率、用户访问深度等数据。

而在埋点数据进行上报的同时,我们也可以同步收集页面基础数据/接口相关数据如:页面加载/渲染时长、页面异常、请求接口等数据。

同时对于前端监控来说,大致可以分成三个方向:数据监控、性能监控、异常监控。

数据监控

数据监控即通过数据分析用户行为,常见的监控数据包括:PV/UV、页面停留时长、通过什么入口进入、在页面触发了什么行为等。统计这些数据就是为了清楚用户来源,拓宽产品的推广渠道;了解用户在页面停留的时间情况,针对停留较短的页面进行分析改进。也就是我们常说的:who(uuid)、when(time)、from where(referrer)、where(x,y)、what(自定义拓展数据)串成的用户行为路径。

性能监控

性能监控主要是针对前端进行监控,比如不同用户在不同地区使用不同机型下的首屏加载时间、页面的白屏时间、静态资源下载时间等数据。通过针对这些性能数据进行监控,可以大概反映前端性能的好坏,根据性能监测的结果可以进一步的去优化前端性能。

异常监控

前端代码在执行过程中也可能会发生异常,因此需要引入异常监控例如 sentry 等工具及时的上报异常情况,可以避免线上故障的发上。常见的异常包括:javascript 的异常监控、CSS 的异常监控等。

三、目前埋点方案&后续演进方向

现有方案

目前公司已经存在一套埋点 SDK 在运行,使用的是代码埋点方案,其埋点上报数据可大致分为三类:页面进入、事件触发、页面离开。

(1) 页面进入(pageIn)

进入页面时,同步推送页面基础信息如:当前页面的来源页面、操作系统、浏览器、页面 url,发生时间等

(2) 事件触发(Event)

触发事件时,同步推送事件类型(click、hover等)、鼠标位置、附加业务参数等

(3) 页面离开(pageOut)

离开页面时,同步推送发生时间、页面 url 等

其埋点大致逻辑如下图,通过生成独有的四段值+pvid即可定位某个项目的某个页面在某个区块点击了某个按钮,同时生成唯一的 pvid 记录页面的 pv 数据。具体说明可翻阅往期关于政采云埋点分析系统的文章。

后续演进

在现有 SDK 的基础上我们可以发现,目前的埋点 SDK 只上报了一些用户的基础信息数据,在性能数据和异常数据的上报上还存在可拓展的空间。

(1) 性能数据上报

在获取用户基础数据的同时,后续可以通过window.perfORManceapi获取前端性能数据,在第一次进入页面时随 pageIn 一起将页面初始性能数据进行上报。

可进行上报的字段包含如下:

(2) 接口数据上报

除了上报性能数据外,我们也可将页面内所发的所有请求通过重写XMLHttpRequest进行劫持打标上报,即在当前页面下的所有请求 header 上默认加上当前页面 ID,将各个请求与当前页面的 pageId 进行绑定。

通过该类数据可以进行统计分析出某一页面的请求量、请求异常等情况判断出页面级别的请求健康度;后期甚至可与 Yapi 接口系统打通,若出现异常情况可直接将实际请求参数与文档上的请求参数进行对比,排除异常是由于请求参数错误造成的。

四、前端数据可视化

对于已经采集上来的数据经由数仓清洗之后的可视化玩法就千变万化了。可以针对不同元数据按不同指标纬度聚合,产生不同的数据分析侧重点。再通过各类可视化工具进行展示,例如:混仪系统、小采BI等。

混仪系统

混仪系统(内部系统)主要针对埋点进行元数据后台管理,推进埋点平台的规范化建设。同时在此基础上,优化数据分析功能,为公司内部用户提供埋点数据自助分析平台,提升数据利用率和日常工作效率。

小采BI

小采BI是可视化团队内部搭建系统,分为报表搭建、大屏搭建和看板搭建等模块。通过内部这些搭建工具直接对元数据进行展示,组合成面向不同受众、不同角色的自定义数据报表或监控大屏等。

结语

本文只是针对埋点系统和监控系统的融合的一点简单的介绍与探索,实际操作落地上肯定会有各种问题。比如多端情况下的数据埋点&上报,比如手动埋点增加了工作量破坏了原有代码的可读性等一系列实操上的问题,这些都需要逐步完善优化,同时我们也希望各位读者提出自己意见和建议,一起完善埋点&监控的大生态。

以上就是js前端埋点监控解析的详细内容,更多关于js前端埋点监控的资料请关注编程网其它相关文章!

--结束END--

本文标题: js前端埋点监控解析

本文链接: https://www.lsjlt.com/news/153197.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • js前端埋点监控解析
    目录一、为什么需要埋点&监控二、埋点&监控能做什么数据监控性能监控异常监控三、目前埋点方案&后续演进方向现有方案(1) 页面进入(pageIn)(2) 事件触...
    99+
    2022-11-13
  • js前端埋点监控是什么
    这篇文章主要介绍“js前端埋点监控是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“js前端埋点监控是什么”文章能帮助大家解决问题。一、为什么需要埋点&监控在开始正文之前,我们先想想为什么...
    99+
    2023-07-02
  • js前端代码异常监控的示例分析
    这篇文章将为大家详细讲解有关js前端代码异常监控的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。阅读目录什么是前端代码异常 window.onerror...
    99+
    2022-10-19
  • 如何通过Vue自定义指令实现前端埋点详析
    目录前言埋点上报方式都有哪些?一般对哪些数据做埋点?需求分析代码实现Click 类封装Exposure 类封装指令封装使用不足总结前言 在营销活动中,通过埋点可以获取用户的喜好及交互...
    99+
    2022-09-27
  • JS前端错误监控捕获以及上报方法详解
    目录前端错误捕获方法不同场景错误处理方式错误信息上报ajax进行上报image上报sendBeacon前端错误捕获方法 前端捕获错误的方法: try..catch:捕获的异常必须是...
    99+
    2023-01-08
    JS前端错误监控捕获上报 JS 错误监控捕获
  • 怎么解决的前端异常监控
    这篇文章主要讲解了“怎么解决的前端异常监控”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么解决的前端异常监控”吧!前端监控包括行为监控、异常监控、性能监控...
    99+
    2022-10-19
  • JS前端监控采集用户行为的N种姿势
    目录引言通用数据获取用户信息获取页面信息设置时间特定数据手动埋点上报全局自动上报组件上报总结引言 上一篇我们详细介绍了前端如何采集异常数据。采集异常数据是为了随时监测线上项目的运行情...
    99+
    2022-11-13
  • JS前端操作Cookie源码示例解析
    目录引言源码分析使用源码分析setgetremovewithAttributes & withConverter总结引言 前端操作Cookie的场景其实并不多见,Cookie...
    99+
    2022-12-25
    JS前端操作Cookie JS操作Cookie
  • Spring MVC 前端控制器 (DispatcherServlet)处理流程解析
    目录Spring MVC 请求处理流程DispatcherServlet源码分析Spring MVC 中的一些核心类Spring MVC 请求处理流程 用户发起请求,到 Dispa...
    99+
    2022-11-13
  • js内存泄漏场景、如何监控及分析详解
    目录前言哪些情况会引起内存泄漏 1. 意外的全局变量 2. 遗忘的定时器 3. 使用不当的闭包 4. 遗漏的 DOM 元素 5. 网络回调 如何监控内存泄漏 如何分析内存泄漏,找出有...
    99+
    2022-11-12
  • JS前端知识点offset,scroll,client,冒泡,事件对象的示例分析
    这篇文章给大家分享的是有关JS前端知识点offset,scroll,client,冒泡,事件对象的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。关于offset多用于检测...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作