写点什么

UEM 系列(二)初识 UEM“探针”技术

  • 2020-02-13
  • 本文字数:1027 字

    阅读完需:约 3 分钟

UEM系列(二)初识UEM“探针”技术

本篇是 UEM 系列的第二篇,今天让我们一起来初识一下 UEM 当中的"探针"技术。欢迎大家访问以下链接来阅读我们 UEM 系列以往的文章。


链接:https://www.toutiao.com/i6600983314784322056/


1、 UEM 核心功能


用户体验一般分为移动应用体验(UEM App)和浏览器应用体验(UEM Web)两部分。对移动应用的用户体验支持,国内外很多厂商的产品都较为成熟和完善,大家在网上能够找到很多可以参考的项目,UAVStack 开源项目目前主要关注于面向浏览器应用的用户体验。


一般来说,UEM 的核心功能包括以下内容:



2、 "探针"技术捕获数据解密


UEM 的核心在于浏览器探针,通过自动注入到监测网页的 JS 代码,对实际用户访问的网页性能数据进行全样本采集和分析,找到影响用户体验问题本源,帮助用户持续优化 Web 应用性能。


浏览器探针的作用在于以下几点:


  1. 采集浏览器基本信息

  2. 采集页面性能数据(Navigation Timing API)

  3. 采集 AJAX 性能数据+请求/响应数据

  4. 采集 JS 错误数据(包括:出错页面或脚本 URL,引用页面 URL,Error Message,错误位置:行号,列号,等等)

  5. 采集页面追踪数据(Resource Timing API)

  6. 将捕获的数据上传到 UEM Server,便于进行后续的存储、多维度分析、预警和优化等


浏览器探针是根据浏览器状态来采集页面性能数据的。每次页面请求,当获取到 onload 事件结束,则以事件结束时间定义为页面完成时间。当有异步请求再次加载内容,那么这些异步请求记录在 AJAX 数据当中。基于采集到的数据,可以得到以下页面性能指标:



基于这些指标,页面加载流程的分解和可视化将会变得十分简单。


3、 页面加载流程可视化



页面加载流程可视化是 UEM 数据统计的一个重要手段,是 UEM 成果的通俗展示方式。上图是页面加载流程可视化的一个示意图。上述页面性能数据是实时上传的,但数据上传分四个时机:整个页面加载完成后上传、离开页面时上传、发生 JS 错误时上传和有 AJAX 请求时上传。此外,浏览器探针是自动注入到监测网页的,UEM Server 会监听应用服务器的输出,当用户开启自动注入功能,UEM Server 会在应用服务器的输出函数内自动注入 UEM 的浏览器探针,具体实现方式将在以后的分享中详细介绍。通过大量的实验室数据对比,自动注入 UEM 浏览器探针对服务器性能几乎无影响。


本文主要目的是让读者对 UAVStack 的 UEM 和浏览器探针的作用有一个整体的认识,具体的实现将在以后的分享中详细介绍,敬请期待,同时欢迎大家继续关注 UAVStack 官方微信群,相信您一定会有收获!


本文转载自宜信技术学院网站。


原文链接:


2020-02-13 21:47884

评论

发布
暂无评论
发现更多内容

创新方案百花齐放,英特尔助力2020 EdgeX中国挑战赛推动智能边缘行业创新及人才发展

E科讯

京东推荐系统中的兴趣拓展如何驱动业务持续增长?

京东科技开发者

算法 推荐系统 知识图谱

手撕面试题:多个线程顺序执行问题

大头星

Java 面试 多线程

使用 Maven Archetype 基于 IDEA 快速创建项目

程序员小航

Java maven 开发 项目 Archetype

第二周作业

小兵

叼!阿里Mysql三位封神专家总结800页性能优化的千金良方

996小迁

Java MySQL 编程 架构 面试

Mac/Windows 连接 Ubuntu 的 samba 服务器

jiangling500

ubuntu Mac windows Samba

Week 6 命题作业

阿泰

TronChain波场链合约系统开发技术

薇電13242772558

区块链 智能合约

蚂蚁金服首发887页Java面试宝典!还原真实面试情景+面试题

Java架构追梦

Java 编程 架构 面试 蚂蚁金服

直播带货需要运营者实名验证:规范行业有利于健康发展

石头IT视角

LeetCode题解:78. 子集,递归+for循环+回溯,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

架构师训练营 - 第 6、7、8、9、10 、11、12、13周学习总结(1 期)

阿甘

用上ConcurrentHashMap,就没有并发问题了?

海拉鲁

Java 并发

GitHub上最励志的计算机自学教程(重制版),前端小白到亚马逊工程师

沉默王二

GitHub 学习 程序员 面试

Javassist实现JDK动态代理

AI乔治

Java 编程 架构 jdk

JavaScript 对象 — 重学 JavaScript

三钻

Java 大前端 对象

架构师训练营第六周作业

Shunyi

极客大学架构师训练营

程序员什么时候就该辞职了?

Java架构师迁哥

从实际案例聊聊Java应用的GC优化

AI乔治

Java 编程 架构 JVM GC

英特尔第十一代处理器 (代号Rocket Lake-S) 架构详情

E科讯

Java-技术专题-LocalDate和LocalTime和LocalDateTime

码界西柚

【得物技术】一文读懂Vue生命周期

得物技术

Vue 生命周期 得物技术部 得物 钩子函数

K近邻算法:机器学习萌新必学算法

华为云开发者联盟

学习 算法

第二周总结

小兵

对抗验证概述

计算机与AI

学习 数据验证

架构师训练营 -week06-作业

大刘

极客大学架构师训练营

Redis可以做哪些事?

Java旅途

redis

Java-技术专题-volatile关键字

码界西柚

Java-技术专题-Object克隆方法解析

码界西柚

JVM 源码解读之 CMS GC 触发条件

AI乔治

Java 架构 JVM GC

UEM系列(二)初识UEM“探针”技术_行业深度_谢知求_InfoQ精选文章