前端监控常见问题的解决方法

一、安装常见问题
 
1、嵌入JS后对页面性能的影响的?
 
答:前端监控Browser探针收集监测数据,定时合并压缩上报到服务端,经过大量实验验证,嵌入看云Browser探针对页面性能几乎没有影响。
 
2、JS探针安装实现方式有哪几种?
 
答:JS探针有两种部署方式:
 
自动部署:创建时与已存在的server端应用相关联,server探针会在其上的页面中自动注入JS探针的代码。
 
手动部署:通过下载JS探针,手动将其嵌入到需要监测的页面中。
 
3、如何验证JS探针部署成功?
 
答:使用前端的开发者工具或其他网络请求抓包工具,查看页面访问时的请求是否包含如下格式的请求。
 
http://xxx.com/pf?……为上传页面性能数据的接口;
 
http://xxx.com/as?……为上传Ajax请求性能数据的接口。

4、JS探针是否需要部署到每个页面?
 
答:如果想监控网站内的所有页面,确实需把 js 插入所有的页面;但同时,如果存在几个页面公用一个 head 标签的情况,也就是所谓的“全局页面”,或者“全局模块”,那就放在这个全局的 head 标签里面就好了,就会省下很多工作量。
 
5、Browser手工嵌码必须放在head标签的第一行吗?
 
答: Browser探针并不强制要求嵌在head标签第一行,但是我们仍然强烈建议您这么做,否则,先于探针加载发生的js错误和异步请求数据将无法采集。
 
二、数据采集常见问题
 
1、Browser采集那些数据?
 
答:前端基本信息,页面性能数据(通过Navigation Timing API接口获取),页面请求加载追踪数据(通过Resource Timing API接口获取),AJAX性能数据,JS错误数据,AJAX错误数据。
 
2、Browser可以采集到js错误的哪些信息?
 
答:出错脚本或页面URL,出错JS所在页面URL,错误信息,错误代码所在行列号,错误堆栈,前端基本信息。
 
3、快照数据是如何采集的?(如类似server,判定后延迟采集,还是全采集后再判定)
 
答:当页面的整体性能超过设定的阈值时,采集本次页面慢访问的快照。当页面或iframe发生有JS错误或AJAX错误时,采集JS和AJAX错误快照数据。当AJAX请求的总响应时间超过设定的阈值时,采集本次AJAX慢请求的快照数据。
 
4、Browser报表数据是实时上传的吗?
 
答:Browser报表数据是实时上传的,数据上传分四个时机,整个页面加载完成后上传,离开页面时上传,发生js错误上传和有Ajax请求上传。
 
三、数据展示常见问题
 
1、如何判定访客设备类型?
 
答:Browser通过分析用户访问网站时的UserAgent信息,将访问数据按照设备类型区分为PC端、移动端和微信端三种,不同设备类型的访问数据既可以统一查看,也可以区别分析。
 
2、时序图中为什么关联AJAX,且展示关联ajax个数?如何获得该数据?
 
答:通过关联AJAX,用户可以直观了解当前页面加载过程中onload之前调用异步加载业务请求的数据,通常为了加快页面的加载和展现,企业会尽量将页面加载最小化,较大的异步加载的业务请求会放在页面框架渲染完毕后进行,本数据可以帮助研发人员了解页面的异步调用业务请求时机是否存在问题。
 
3、Browser如何记录分屏加载?
 
答:Browser是以页面性能为基础进行整体加载性能分析的,系统根据前端事件来计算性能数据。每次页面请求,当获取到onload事件结束,则以事件结束时间定义为页面完成时间。onload之后的异步请求会记录在AJAX数据当中,同步请求已经不影响之前页面的加载耗时了,并且由于不确定这些同步请求会何时出现,页面性能统计数据可能已经按照粒度汇总统计完毕,因此这部分的同步请求性能没有计算到页面中。