在某公司内,端同学手忙脚乱忙碌着:
老板: “小端,怎么回事,我刚试用产品就报错,这么不禁点吗,赶紧查查!”。
产品: “老端,你有没有感觉我们页面打开变慢了,什么原因,赶快看看!”。
运维: “端兄,光缆可能又被挖断了,部分区域服务不可用,赶紧协助统计下影响多少用户”。
运营: “端端,前几天推的活动用户数据能再帮我整理一下吗,汇报急用”。
客服: “端哥,有位用户反馈产品使用白屏了,麻烦赶紧看看什么原因,我先稳住用户”。
后端 A、B、C...: “端!”,“端!”,...,这功能啥时候联调下啊,就等你那边功能了”。
行政走过来,“哎呀,空调这么凉快,你咋还流这么多汗啊”。
每个前端同学都可能面临以上各种问题,该怎么解呢?正在端同学一筹莫展之际,保洁阿姨放下手中沾有汗水的拖把,有条不紊地拿起键盘打开阿里云 ARMS RUM 产品官网,说道:“小伙子,可以接入 ARMS RUM 产品啊,快速解决以上问题,让老板和同事满意,也让自己安心,我听说很多公司都在用。”
产品介绍
Cloud Native
ARMS RUM 是阿里云应用实时监控服务(ARMS)下的用户体验监控(RUM)产品,覆盖 Web/H5、各类平台小程序、Android、iOS、Flutter、ReactNative、Windows、macOS 等平台框架。接入 SDK 后会主动采集端侧页面性能、资源加载、API 调用、异常崩溃、卡顿、用户操作、系统信息等数据,还支持事件、日志、异常等数据按需自定义上报以满足业务数据分析需求,提供全面的性能分析、异常分析、产品分析、会话分析能力,帮助快速跟踪定位问题原因,提升产品用户使用体验。ARMS RUM 具备以下核心功能。
前后端全链路打通能力,展示每跳详情,便捷剖析错慢调用
前后端全链路打通具备以下核心功能特点:
-
支持错慢请求便捷筛选 -
支持用户或会话 ID 便捷筛选 -
支持链路拓扑视图展示 -
支持各 Span 属性、指标、耗时详细数据展示 -
支持请求参数和响应数据展示 -
支持异常信息堆栈展示 -
支持 Trace 采样配置 -
支持同类 Trace 筛选,做智能化分析
记录会话轨迹,回溯用户操作,层层下钻定位根因
会话追踪具备以下核心功能特点:
-
支持用户信息展示,如设备、区域、浏览器等信息 -
支持会话信息展示,如会话时长、资源异常数、资源请求数、API 请求数、API 异常数、用户事件等信息 -
支持事件名模糊筛选和各类事件便捷筛选 -
支持错误和缓慢标记和筛选 -
支持时间序列的会话轨迹展示 -
支持事件类型和事件信息展示 -
支持事件点击下钻,做具体事件分析
全面采集异常信息,堆栈解析定位代码问题,便捷评估异常影响面
异常分析具备以下核心功能特点:
-
支持异常名称、异常信息、异常文件、异常次数等数据统计 -
支持影响页面数、影响页面访问数、影响用户数、影响会话数等数据统计 -
支持异常名称、异常信息、用户信息等便捷筛选 -
支持异常趋势分析,提供地域、浏览器、设备型号、运营商等分布统计 -
支持异常用户明细展示,提供异常用户列表和异常占比,可追踪用户异常访问明细,追溯会话轨迹 -
支持异常页面明细展示,提供异常页面列表和异常占比,可追踪页面异常访问明细,追溯会话轨迹 -
支持符号表控制台上传,也可与 CI/CD 系统集成编译后自动上传 -
支持白屏监控,具备白屏率、影响用户数、影响会话数等统计,支持白屏截图采集,协助发现白屏问题 -
支持各类型异常告警配置
多维度多指标页面性能统计,提供单次访问各阶段耗时分布,快速定位错慢资源
页面访问具备的核心功能如下:
-
支持页面数据便捷筛选,如加载耗时、页面名称等条件 -
支持页面访问量、停留时间、访问次数、访问用户数、加载耗时、LCP、FID、CLS 等数据列表 -
支持页面访问量、WebVitals 核心指标、页面加载耗时趋势分布 -
支持地域、浏览器、联网方式、设备、操作系统、运营商等页面访问趋势分布 -
支持页面加载耗时瀑布图,包含 DNS、TCP、SSL、内容传输、DOM 解析耗时 -
支持按用户维度统计页面访问量、访问占比、首次访问时间、加载耗时等 -
支持页面访问明细基础信息,如调用页面、状态码、加载状态、资源大小、地域、设备、联网方式、运营商、操作系统、环境类型等 -
支持页面加载重定向耗时、DNS 耗时、TCP 耗时、SSL 耗时、请求响应耗时、内容传输耗时、资源加载总耗时等 -
支持页面资源加载列表展示,支持错慢资源便捷筛选 -
支持原生控件线程加载时序明细和加载时序图
资源加载和 API 调用全量采集,便捷筛选错慢、高频资源请求,多维分析资源请求性能
资源加载和 API 请求具备以下核心功能:
-
支持趋势分布,包含加载次数(资源类型/请求方法)、加载过程耗时(Connect、DNS、TCP、Download、Duration)、错误趋势(错误数、错误率)等数据
-
支持资源列表,包含加载次数、缓慢次数、失败次数、平均加载耗时、调用页面数等数据
-
支持地域、浏览器、联网方式、设备、操作系统、运营商等维度分布统计
-
支持按页面类型、资源加载次数、平均加载耗时、缓慢次数、错误次数、缓慢占比、错误占比等调用页面统计
-
支持资源加载明细,覆盖基础信息、指标统计、加载耗时分布
-
支持调用页面、状态码、加载状态、资源大小、地域、设备、联网方式、运营商、操作系统、环境类型等
-
支持调用指标统计,包含重定向耗时、DNS 耗时、TCP 耗时、SSL 耗时、请求响应耗时、内容传输耗时、资源加载总耗时等和资源加载耗时瀑布图
自定义数据上报,满足业务数据采集,增强产品分析能力
自定义数据上报支持的核心数据如下:
-
自定义事件:事件名称、事件类型、事件分组、自定义属性、事件度量值,上下文快照 -
自定义日志:日志名称、日志级别、日志内容、自定义属性、上下文快照 -
自定义异常:异常名称、异常原因、异常堆栈、自定义属性、上下文快照 -
自定义属性:自定义的 Key : Value 的 JSON 数据,是附加在事件等数据上的数据点或信息,用以描述事件等信息的详细情况。可以基于属性生成指标。
站点总览大盘,实时掌握访问趋势、性能指标、异常趋势、地域分布等站点信息
站点总览大盘具备以下指标数据:
-
Session 数、PV、UV、资源数、API 请求数、异常数、人均会话时长统计数据 -
最大内容渲染耗时(LCP)、首次输入延迟耗时(FIP)、累积布局配置偏移(CLS)Web 性能数据 -
Session/PV/UV 访问趋势、API 请求数和失败数访问趋势、资源请求数据和失败数访问趋势 -
错误数趋势、错误率趋势 -
资源类型请求数占比 -
按运营商、应用版本、设备型号用户数分布占比 -
页面访问量 Top 页面信息、会话访问数 Top 用户、资源错误数 Top 资源信息
支持各项指标告警配置,提供基于动态阈值异常检测告警
提供数据探索,可进行数据多维统计,实现站点性能、用户行为灵活分析
数据全开放,明细数据存储到 SLS,指标存储到 Prometheus,按需灵活使用
场景实战
Cloud Native
场景一:定位某用户产品使用报错问题
第二步:根据时间,点击对应会话 ID,查看“会话轨迹”,找到相关上下文,查看错慢信息。
第三步:点击异常事件,查看异常详情,可上传符号表,对堆栈进行解析。
场景二:定位 App 页面打开缓慢问题
第二步:点击缓慢页面可查看 P75、P90、P95 加载耗时,以及秒开分布次数,了解此页面用户加载整体情况。
第三步:通过页面明细加载时序图和加载明细,结合基础信息和线程信息分析缓慢原因。
场景三:快速统计因故障造成用户影响面