50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

评论

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

正则表达式位置匹配——匹配两个特殊符号中间的内容

jerry.mei

Java 正则表达式 大前端 字符串匹配

[python基础]2 python数据类型上篇

我是程序员小贱

异常处理的那些事儿

松花皮蛋me

Java 设计模式

spark学习之IDEA配置spark并wordcount提交集群

我是程序员小贱

[python基础]3 python数据类型下篇(不得不看的字典,列表大总结)

我是程序员小贱

Java统一异常处理(配置文件集中化定义)

xcbeyond

Java 架构 后端 统一异常

ARTS Week12

时之虫

ARTS 打卡计划 arts

一次由默认参数引起的思考

编程 思考

全面了解CGI、FastCGI、PHP-FPM

书旅

CGI PHP-FPM Fast-CGI

螺旋矩阵算法,臭代码解析,微服务架构 Service Mesh 服务网格 RPC 协议实现原理 Dubbo 通讯协议,John 易筋 ARTS 打卡 Week 13

John(易筋)

ARTS 打卡计划

IT人为什么难以拿高薪?

看山

成长 随笔杂谈 薪资 心灵鸡汤

ARTS打卡 第12周

引花眠

微服务 ARTS 打卡计划

全面剖析PHP-FPM+Nginx通信原理

书旅

nginx 正向代理与反向代理 PHP-FPM

这样看mybatis,谁都会分析源码!

诸葛小猿

源码 mybatis mybatis源码

JDK中居然也有反模式接口常量

看山

Java 源码阅读

结算场景下的跳坑记

GeekYin

这些年看过的Linux相关书籍推荐

我是程序员小贱

Bash 脚本的单元测试

柴锋

bash Linux DevOps Unit Test Shell

目前数字人民币试点仍是“4+1” 别误读了

CECBC

数字货币 央行 人民币

准时下班的秘密:集成 GitLab && JIRA 实现自动化工作流

Phoenix

团队协作 研发效能

python必备知识总结

我是程序员小贱

蓝绿部署、金丝雀发布(灰度发布)、AB测试

看山

微服务 持续集成

SICP,我的函数式编程启蒙书

Kurtis Moxley

读书 函数式编程

年轻的樵夫哟,你掉的是这个免费 8 核 4G 公网服务器,还是这个随时可用的 Docker 实验平台?

newbe36524

Docker 微服务 .net core ASP.NET Core

区块链技术--公证人机制

CECBC

区块链 数字货币 公证人

Nginx之反向代理

xcbeyond

nginx 反向代理 代理

ARTS 07 - 使用 supervisor 配置 ngrok 内网穿透为守护进程

jerry.mei

算法 练习 ARTS 打卡计划 ARTS活动 内网穿透

如何选择:Bootstrap Or Layui

引花眠

bootstrap layui

16张图入门Nginx——(前端够用,运维入门)

执鸢者

nginx 运维 大前端

SpringBoot系列(七):SpringBoot 中使用Redis缓存

xcbeyond

Java redis 微服务 springboot

SpringBoot系列(八):SpringBoot 中的事务处理

xcbeyond

Java 微服务 事务 springboot

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