You need to enable JavaScript to run this app.
导航

性能监控

最近更新时间2023.08.31 14:40:10

首次发布时间2022.09.01 16:20:37

性能监控展示了小程序整体性能的基本情况,包括启动性能、页面性能和运行性能,能够反应小程序加载和呈现的速度,以及用户交互的响应程序,配合报警和数据探索,可以更快发现性能问题,并作为性能优化的数据依据。

启动性能

小程序启动是影响小程序使用体验中极为重要的一环,关注启动耗时过长是提高使用体验的重要维度。
小程序的启动过程从用户打开小程序小程序首页渲染完成。小程序首页渲染完成的标志是首个页面Page.onReady事件触发。具体时序图如下所示:
图片

启动性能趋势图

启动性能相关指标可以分为三类:启动概览、通用性能指标及初始化性能指标。并通过堆叠图、组合图以及折线图的形式对指标进行可视化展示。
图片
图片
图片

  • 每个图表包含数据:当前时间周期内的指标均值、前一周期的指标值、相对于前一周期的波动。
    前一周期的值指的是前一个所选的时间周期内的值。例如选择周期为7天,那么前一周期就是上一个7天。

  • 折线图中能够看到观察在项目设置中设置的糟糕性能基准线,帮助您判断指标值的分布情况。

    指标名

    计算规则

    说明

    兼容情况

    总启动次数

    冷启动次数 + 热启动次数

    All

    冷启动

    Pageview.source === launch次数

    All

    热启动

    Pageview.source === show次数

    All

    首屏冷启动总耗时

    pageRenderEnd - App.trigger

    从点击小程序到首屏渲染完成的总加载耗时,中间包含代码包下载(非首次启动则不包含)、代码执行、首屏渲染完成等耗时

    • 微信小程序
    • 抖音小程序

    小程序初始化耗时

    appInitEnd - App.trigger

    从点击小程序开始到冷启动完成

    • 微信小程序
    • 抖音小程序

    下载耗时

    downloadPackage

    代码包下载耗时,首次启动时下载小程序包的耗时

    • 微信小程序
    • 抖音小程序

    JS注入耗时

    performance.evaluateScript

    JS代码注入耗时,启动过程中注入JS文件的耗时

    微信小程序

    首屏加载耗时

    pageLoadStart - appInitEnd

    All

    首屏构建耗时

    pageDomEnd - pageLoadStart

    All

    首屏渲染耗时

    pageRenderEnd - pageDomEnd

    All

    首屏加载总耗时

    pageRenderEnd - appInitEnd

    All

    打开率

    pageRenderEnd次数 / appInitEnd次数

    启动小程序到首屏渲染的完成率

    All

    流失率

    1 - 打开率

    启动小程序但是首屏渲染并未完成就退出的概率

    All

    慢启动率

    首屏加载总耗时 > 设定阈值的启动次数

    慢启动的比率

    All

性能欠佳页面

图片
性能欠佳页面以PID为聚合纬度,展示当前样本量阈值下,所选指标性能欠佳的PID信息。展开该信息,右侧会展示该PID的多指标性能趋势图。单击慢页面次数,可跳转至数据探索,查看慢页面详情。

启动耗时分布

图片
启动耗时分布可以查看所选指标耗时的分布情况。

  • 拖动下方的滑动条可以自定义耗时的显示范围,同时可以在右上角查看所包含的耗时范围内,上报量占比情况。
  • 悬停在柱体上,可以查看不同区间段的柱体的耗时范围、上报量和占比。
  • 单击柱体可以跳转到数据探索

性能优化/劣化

图片
优劣化页面以PID为聚合纬度,展示当前所选时间范围内启动性能优化/劣化最严重的PID信息。

  • 选中相应PID会展示相关指标的趋势信息。如果配置了release相关信息,可以在趋势图中展示上线版本。
  • 对比的时间是把当前所选范围一分为二进行对比。例如,当前的时间范围是3天,所以进行对比的是前1.5天的指标值和后1.5天的指标值。

页面性能

小程序页面性能指的是小程序页面跳转时的性能,各项性能指标对应的时间戳如下图所示.
图片

页面性能趋势图

图片
图片
指标说明:

指标名

计算规则

兼容情况

页面跳转总耗时

renderEnd - navigateStart

All

路由切换耗时

loadStart - navigateStart

All

页面构建耗时

domEnd - loadStart

All

页面渲染耗时

renderEnd - domEnd

All

初次渲染(FR)

performance.FR.duration

微信小程序

页面首次绘制(FP)

FP.startTime - loadStart

页面首次内容绘制(FCP)

FCP.startTime - loadStart

页面最大内容绘制(LCP)

LCP.startTime - loadStart

页面渲染跳出率

renderEnd次数/ navigateStart != 0次数

All

慢页面次数

页面跳转总耗时 > 设定阈值的上报次数

All

性能欠佳页面

图片

  • 性能欠佳页面以PID为聚合纬度,展示当前样本量阈值下所选指标性能欠佳的PID信息。
  • 展开PID信息会展示该PID的多指标性能趋势图。
  • 单击PID可以跳转至数据概览查看页面详情。
    图片

说明

小程序Pro监控平台各项功能强依赖PID设置,设置与业务相关的合理的页面标示,可以更好发现性能异常相关问题。

页面耗时分布

图片
页面耗时分布可以查看所选指标耗时的分布情况。拖动下方的滑动条,可以自定义耗时的显示范围,同时可以在右上角查看所包含的耗时范围内,上报量占比情况。

性能优化/劣化

图片
优劣化页面以PID为聚合纬度,展示当前所选时间范围内页面性能优化/劣化最严重的PID信息。选中相应PID会展示相关指标的趋势信息。同时如果有配置release相关信息,可以在趋势图中展示上线版本。

运行性能

setData列表

setData是小程序开发中使用最频繁、也是最容易引发性能问题的接口。setData频率过大会导致JS线程持续繁忙,setData耗时过长会导致页面渲染卡顿。根据setData相关指标的列表,可以按照各项指标进行排序,排查问题。
图片

  • 单击PID可以跳转到数据探索,并保存筛选条件中的小程序类型、系统和PID。

  • setData列表中展示了PID、setData次数、setData耗时、setData频率和setData大小。
    指标说明:

    指标

    计算规则

    说明

    setData次数

    时间范围内上报次数

    无。

    setData耗时

    setData总耗时 / PV数

    一次PV平均累计的setData耗时。

    setData频率(每秒)

    setData次数 / 时间范围(单位s)

    无。

    setData大小

    setData总大小 / PV数

    一次PV平均累计的setData大小。