本文说明ARMS前端监控各页面的关键统计指标含义以及日志字段的含义。
满意度
性能指数APDEX(全称Application Performance Index)是一个国际通用的应用性能计算标准。该标准将用户对应用的体验定义为三个等级:
满意(0~T)
可容忍(T~4T)
不满意(大于4T)
计算公式为:
Apdex=(满意数+可容忍数/2)/总样本量
ARMS取页面首次渲染时间(First Paint Time)作为计算指标,默认定义T为2秒。
JS稳定性
JS稳定性在ARMS中是指页面的JS错误率。
在一个PV周期内,如果发生过错误(JS Error),则此PV周期为错误样本。
错误率=错误样本量/总样本量
页面异常除了自动上报的JS Error外,也包括手动调用前端接口说明上报的错误。
访问速度
在ARMS中,访问速度是指页面的首次渲染时间。
在性能测速统计中,所有数据都是根据W3C规范中定义的Navigation Timing API计算出来的。
上报字段 | 描述 | 计算公式 | 备注 |
FMP(First Meaningful Paint) | 首屏时间 | 无 | |
FPT(First Paint Time) | 首次渲染时间(白屏时间) | responseEnd - fetchStart | 从请求开始到浏览器开始解析第一批HTML文档字节的时间差。 |
TTI(Time to Interact) | 首次可交互时间 | domInteractive - fetchStart | 浏览器完成所有HTML解析并且完成DOM构建,此时浏览器开始加载资源。 |
Ready | HTML加载完成时间, 即DOM Ready时间。 | domContentLoadEventEnd - fetchStart | 如果页面有同步执行的JS,则同步JS执行时间=Ready-TTI。 |
Load | 页面完全加载时间 | loadEventStart - fetchStart | Load=首次渲染时间+DOM解析耗时+同步JS执行+资源加载耗时。 |
FirstByte | 首包时间 | responseStart - domainLookupStart | 第一包接收的时间。 |
上报字段 | 描述 | 计算公式 | 备注 |
DNS | DNS查询耗时 | domainLookupEnd - domainLookupStart | 无 |
TCP | TCP连接耗时 | connectEnd - connectStart | 无 |
TTFB(Time to First Byte) | 请求响应耗时 | responseStart - requestStart | TTFB有多种计算方式,ARMS采用的标准,请参见Google Development定义。 |
Trans | 内容传输耗时 | responseEnd - responseStart | 无 |
DOM | DOM解析耗时 | domInteractive - responseEnd | 无 |
Res | 资源加载耗时 | loadEventStart - domContentLoadedEventEnd | 表示页面中的同步加载资源。 |
SSL | SSL安全连接耗时 | connectEnd - secureConnectionStart | 只在HTTPS下有效。 |
上报字段 | 描述 | 计算方式 | 备注 |
FPT(First Paint Time) | 首次渲染时间 | onShow (first page) - onLaunch (app) | 小程序从onLaunch到第一个页面onShow之间的时间。 |
API成功率
API成功率=接口调用成功的样本量/总样本量
统计API成功率的样本除了自动上报的AJAX请求,还包括手动调用前端接口说明上报的数据。
日志字段
下列表格说明了日志中的字段含义。
字段 | 含义 |
uid | 用户ID,用于标识访问用户,可手动配置,用于根据用户ID检索。如果不配置,则由SDK自动生成且每半年更新一次。 |
username | 用户名称,需要通过SDK主动上报,否则内容为空。 |
release | 应用版本号 |
environment | 生产环境 |
page | 页面 |
sampling | 采样率 |
tag | 用户自定义Tag |
字段 | 含义 |
api | API请求地址,不带参数。 |
msg | responseText:字符串形式的响应数据。 |
code | 状态码 |
time | API耗时 |
success | API成功与否 |
字段 | 含义 |
msg | 报错内容 |
stack | 错误堆栈 |
cate | 错误类型:
|
file | 出错文件 |
line | 出错行 |
col | 出错列 |
times | 出错次数 |
日志说明
日志类型 | Type | 查询字段 (通用指标字段:所有日志皆可查询过滤) |
PV日志 | PV | 在页面Onload的时候上传,用于计算PV和UV。 PV、UV计算方式:
|
性能日志 | Perf | |
慢加载日志 (>8s的性能日志) | RES | |
JS错误日志 | Error |
|
API日志 | API |
|
SUM日志 | SUM | 自定义Key:事件名(如scroll-count) |
AVG日志 | AVG | 自定义Key:事件名(如scroll-time) |
资源错误日志 | ResourceError | 资源错误SRC |
无 | Custom | 无 说明
|