写点什么

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:471179

评论

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

软件测试/测试开发丨Python常用数据结构-学习笔记

测试人

软件测试 自动化测试 测试开发 python数据结构

软件测试|神操作!用 Python 操作 xmind 绘制思维导图

霍格沃兹测试开发学社

2023-05-14:你的赛车可以从位置 0 开始,并且速度为 +1 ,在一条无限长的数轴上行驶, 赛车也可以向负方向行驶, 赛车可以按照由加速指令 ‘A‘ 和倒车指令 ‘R‘ 组成的指令序列自动行驶

福大大架构师每日一题

Go 算法 rust 福大大

MySql 索引的失效与优化

Andy

深入浅出解析JVM中的Safepoint | 得物技术

得物技术

使用友好的API设计理念

agnostic

API APi设计

软件测试|Python实用炫酷技能——推导式

霍格沃兹测试开发学社

软件测试|手把手教你用Python来模拟绘制自由落体运动过程中的抛物线

霍格沃兹测试开发学社

ui设计软件Sketch 96.3中文激活版~ 支持m1

真大的脸盆

Mac ui设计 矢量设计

软件测试|Pytest的必会技巧(一)

霍格沃兹测试开发学社

C语言编程-程序结构

芯动大师

C语言 结构 三周年连更

Prompt learning 教学[最终篇]:Chatgpt使用场景推荐、优秀学习资料推荐、AI工具推荐

汀丶人工智能

人工智能 自然语言处理 ChatGPT 人工智能ChatGPT 吗? prompt learning

Prompt工程师指南[从基础到进阶篇]:用于开发和优化提示,以有效地使用语言模型(LMs)进行各种应用和研究主题

汀丶人工智能

人工智能 自然语言处理 ChatGPT prompt learning

Java Web实战 | 设计一个监听器

TiAmo

JDBC 事件监听 监听

软件测试|PC端应用自动化最佳解决方案——Pywinauto

霍格沃兹测试开发学社

定风波、渡重山、至未来:2023中国数字能源生态大会开启的新旅程

脑极体

新能源

软件测试|Python神器logging,你真的了解吗?

霍格沃兹测试开发学社

如何使用Go语言实现LSP原则

Jack

CSS小技巧之圆形虚线边框

南城FE

CSS css3 前端开发

软件测试|Python高手教你玩转 Excel 自动化

霍格沃兹测试开发学社

软件测试|一步到位教会你Python字典操作(一)

霍格沃兹测试开发学社

软件测试|不会Python RPC,一篇文章教你入门

霍格沃兹测试开发学社

什么是好代码/坏代码?给普通人的图解示例

越长大越悲伤

后端 好代码的衡量标准

Django笔记二十八之数据库查询优化汇总

Hunter熊

Python django 查询优化

AI DevOps | ChatGPT 与研发效能、效率提升(中)

laofo

DevOps 研发效能 ChatGPT

软件测试|Python删除列表元素的3种方法,你都会吗?

霍格沃兹测试开发学社

设计模式之美--应用LOD法则实现“高内聚低耦合”

GalaxyCreater

设计模式

Orillusion引擎开源一周,荣登Github Trending榜单

Orillusion

开源 3D 渲染引擎 元宇宙 #WebGPU

Zabbix电话短信报警技巧

外滩运维专家

zabbix电话报警 zabbix短信报警 zabbix飞书报警 zabbix钉钉报警 zabbix微信报警

聊一聊模板方法模式

设计模式 模板方法模式

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