写点什么

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

评论

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

ARTS-week-2

saddamwilson

ARTS 打卡计划

Kafka处理请求的全流程解析

yes

kafka 面试 后端 消息队列 源码解析

troubleshoot之:用control+break解决线程死锁问题

程序那些事

Java JVM 死锁

2.1.2 类加载器的工作原理与自定义加载器 -《SSM深入解析与项目实战》

谙忆

DevOps 技术栈

柴锋

Linux DevOps 运维 敏捷 Shell

多省市出台关于区块链人才引进的计划

CECBC

新基建 区块链技术

机器学习算法之——K最近邻(k-Nearest Neighbor,KNN)分类算法原理讲解

迈微AI研发社

学习 算法 KNN K聚类

区块链跃升各国创新战略

CECBC

新基建 国家战略 区块链标准

2.2.1 类反射 -《SSM深入解析与项目实战》

谙忆

如何对 ElasticSearch 集群进行压力测试

白宦成

elasticsearch ELK Elastic Stack

数据库的乐观锁和悲观锁并非真实的锁

架构师修行之路

数据库 架构 乐观锁 悲观锁 分布式锁

LeetCode题解:24. 两两交换链表中的节点,递归,JavaScript,详细注释

Lee Chen

大前端 LeetCode

真正的勇士,会跨过六道裂谷,奔向云与AI的彼端

脑极体

ARTS Week8

丽子

List 和 Map 的排序

一盐难进

Java

如何设计实现一个证书加密签名工具包

三尾鱼

LeetCode题解:21. 合并两个有序链表,利用数组排序,JavaScript,详细注释

Lee Chen

大前端 LeetCode

HTTPS证书过期导致的故障

焦振清

运维 https SRE 服务故障 证书过期

区块链+收藏品,全球三种典型应用路径的差异化

CECBC

区块链 应用价值

JDK1.8新特性(七):默认方法,真香,开动!接口?我要升级!!

xcbeyond

接口 新特性 JDK1.8 默认方法 JDK1.8新特性

踩坑记 | Flutter升级影响了NestedScrollView?

哈利迪

android

原来你是这样的B+树

Java技术宝典

B+树

服务器与普通电脑的区别?

德胜网络-阳

知路,然后智行远;懂行,所以万业兴

脑极体

如何理解Java8 的函数式编程

Rayjun

Java 函数式编程

机器学习算法之——卷积神经网络(CNN)原理讲解

迈微AI研发社

学习 算法 卷积神经网络 CNN

基于 grpc,protobuf搭建 server/client模型通信

是老郭啊

Go: 互斥锁和饥饿

陈思敏捷

mutex Go 语言

你为什么还在用存储过程?

架构师修行之路

数据库设计 架构设计

从数据中台到AI中台,企业到底要建什么中台?

脑极体

# spring boot自定义线程池进行异步调用

一盐难进

Java

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