本文说明了ARMS应用监控各页面的关键统计指标含义以及日志字段的含义。

满意度

性能指数APDEX(全称Application Performance Index)是一个国际通用的应用性能计算标准。该标准将用户对应用的体验定义为三个等级:

  • 满意(0~T)
  • 可容忍(T~4T)
  • 不满意(大于4T)

计算公式为:

Apdex=(满意数+可容忍数/2)/总样本量
Apdex

图片来源:apdex.org

ARMS取页面首次渲染时间(First Paint Time)作为计算指标,默认定义T为2秒。

JS稳定性

JS稳定性在ARMS中是指页面的JS错误率。

在一个PV周期内,如果发生过错误(JS Error),则此PV周期为错误样本。

错误率=错误样本量/总样本量

页面异常除了自动上报的JS Error外,也包括手动调用API参考上报的错误。

访问速度

在ARMS中,访问速度是指页面的首次渲染时间

在性能测速统计中,所有数据都是根据W3C规范中定义的Navigation Timing API计算出来的。

Navigation Timing API

图片来源:www.w3.org

表 1. Web端关键性能指标
上报字段 描述 计算公式 备注
First Meaningful Paint (FMP) 首屏时间 参见FMP技术实现方案
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
表 2. 区间段耗时字段含义
上报字段 描述 计算公式 备注
dns DNS查询耗时 domainLookupEnd - domainLookupStart
tcp TCP连接耗时 connectEnd - connectStart
ttfb Time to First Byte(TTFB),请求响应耗时。 responseStart - requestStart TTFB有多种计算方式,ARMS采用的标准参见Google Development定义
trans 内容传输耗时 responseEnd - responseStart
dom DOM解析耗时 domInteractive - responseEnd
res 资源加载耗时 loadEventStart - domContentLoadedEventEnd 表示页面中的同步加载资源
ssl SSL安全连接耗时 connectEnd - secureConnectionStart 只在HTTPS下有效
表 3. 小程序关键性能指标
上报字段 描述 计算方式 备注
fpt First Paint Time,首次渲染时间。 onShow (first page) - onLaunch (app) 小程序从onLaunch到第一个页面onShow之间的时间

API成功率

API成功率=接口调用成功的样本量/总样本量

统计API成功率的样本除了自动上报的AJAX请求,还包括手动调用API参考上报的数据。

日志字段

下列表格说明了日志中的字段含义。

表 4. 通用字段
字段 含义
uid 用户ID
username 用户名称
release 应用版本号
environment 生产环境
page 页面
sampling 采样率
tag 用户自定义Tag
表 5. API
字段 含义
api API请求地址,不带参数。
msg responseText:字符串形式的响应数据。
code 状态码
time API耗时
success API成功与否
表 6. JS错误
字段 含义
msg 报错内容
stack 错误堆栈
cate 错误类型
file 出错文件
line 出错行
col 出错列
times 出错次数

日志说明

表 7. 多维分析
日志类型 Type 查询字段

(通用指标字段:所有日志皆可查询过滤)

PV日志 PV
  • PV
  • UV
性能日志 Perf 性能指标
慢加载日志

(>8s的性能日志)

RES 性能指标
JS错误日志 Error
  • JS错误消息
  • JS文件URL
  • JS错误类型
API日志 API
  • API名称
  • API消息
  • HTTP状态码
  • API耗时
  • 域名
  • API是否报错
  • TraceID
SUM日志 SUM 自定义Key:事件名(如scroll-count)
AVG日志 AVG 自定义Key:事件名(如scroll-time)
资源错误日志 ResourceError 资源错误SRC
Custom