本文说明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 | 无 说明  
 |