You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
合作与生态
支持与服务
开发者
了解我们
导航

用户体验

更新时间:2023.05.11 17:56:47

针对应用性能对用户体验的问题分析,应用性能监控全链路版提供了启动分析和页面体验两种场景。通常来说,应用启动过程的体验问题以及访问页面时的耗时会对企业的收入和口碑有至关重要的影响。

前提条件

启动分析

启动耗时定义为从进程启动到第一个viewController的viewDidAppear方法调用的耗时。通过启动相关指标的趋势图、分布图可了解应用启动过程中的耗时数据。

筛选条件

您可以通过以下筛选条件进行数据筛选。

  • Android系统支持的筛选维度:
    时间、设备ID、启动类型、系统版本、APP版本、APP小版本号、机型、APM SDK版本、下载渠道、机型评分。
  • iOS系统支持的筛选维度:
    时间、设备ID、Prewarm启动、启动类型、越狱状态、系统版本、APP版本、APP小版本号、机型、APM SDK版本、下载渠道、机型评分。
    iOS Prewarm说明:
    iOS 15以上的系统中存在Prewarm策略,使得应用的一部分启动流程提前,导致平台统计到的启动时间偏大。对于这种情况,平台采取方案:如果触发了Prewarm,那么平台统计到的启动时长会进行校准,即忽略一部分启动时间,因此统计到的启动时间会略小于真实时间,且上报的启动Trace可能会缺少execToLoad或者loadToDidFinishLaunching时间。
    如果您希望获取更加精准的启动时间,请执行以下操作(需要把SDK升级到2.11.1或更高版本):
    1. 在main方法中调用[RangersAPM prewarmCheckStart],同时在application:willFinishLaunchingWithOptions:方法中调用[RangersAPM prewarmCheckEnd]
      如果您的main方法或者 application:willFinishLaunchingWithOptions: 方法中包含复杂逻辑,则不建议此操作。
    2. application:didFinishLaunchingWithOptions:最开始初始化SDK。
      如果由于特殊原因无法太早初始化,请首先调用 [RangersAPM applicationDidFinishLaunching]

启动情况概览

启动时间和次数

启动时间和次数页面可以查看筛选条件下启动平均时间和启动次数的趋势图。
图片

启动时间分布

启动时间分布页面可以查看筛选条件下启动时间的分布情况。
图片

性能分解

图片
性能分解中提供了init_time_avg、build_avg、load_avg这3个指标的趋势图,以了解具体影响启动耗时的原因。

  • init_time_avg:Application.attachbaseContext()方法耗时;
  • build_avg:Application.attachbaseContext()结束到Application.onCreate()结束;
  • load_avg:Application.onCreate()结束到MainActivity.onResume()结束。

分位值

图片
按照启动时间排序取分位值,查看该时间点的启动时间最高值和最低值的占比。

  • 99%分位值、95%分位值、75%分位值、50%分位值都较近:启动时间长的情况普遍存在
  • 99%分位值、95%分位值较近,75%分位值、50%分位值较远:启动时间长短都有,分布较均匀

启动节点耗时

图片

  • 启动节点耗时提供了各Task的耗时瀑布图,可直接分析出耗时长的Task。
  • 支持在右上角切换启动首页,满足App的多个启动首页的场景。

异常统计和追踪

慢启动分析

慢启动分析展示了慢启动占比、慢启动次数、正常冷启动次数的趋势图。
图片

崩溃统计

崩溃统计中展示了崩溃趋势、崩溃分布和崩溃列表,查询该模块页面的崩溃情况,并查询对应的issue,通过堆栈等信息做定位分析。

异常分布

异常分布按照机型、操作系统、APP版本、APP下发渠道展示异常的分布情况,通过多维分析了解慢启动分布情况便于排查问题。
图片

异常列表

异常列表记录了发生异常的issue。
图片

  • 排序:列表默认按照发生时间倒序排列,支持按照启动时间、APP版本、操作系统、设备型号排序。
  • Device ID:右上角输入完整的设备ID进行查询。
  • 启动时间:单击启动时间,进入慢启动详情页面。

慢启动详情

详细信息

详细信息中记录了该异常下慢启动各指标和详细的慢启动发生时详细的参数取值。
图片

慢启动节点耗时

慢启动节点耗时展示了该异常下各Task的耗时。
图片

页面体验

在页面体验中,通过页面响应耗时、页面卡顿情况、卡顿崩溃的分析来了解整个应用的页面体验指标以及定位异常。

页面响应

页面响应提供了各页面指标列表。
图片
单击页面名称,进入页面详情查看该页面的加载时间及次数、加载时间分布、分位值、页面加载时序图。

页面详情

页面详情可以查看该页面加载次数、加载耗时、加载时间分布图、上线后各时间点被用户访问的次数统计。

加载时间及次数

图片

加载时间分布

图片

分位值

图片

页面加载时序图

页面加载时序图中,可定位影响页面加载耗时的关键Task,找到后可精准优化。
图片

流畅性和丢帧

流畅性和丢帧提供了双端FPS的指标趋势图、分布图,以及各页面指标列表。

FPS分位值趋势图

FPS分位值趋势图中展示了FPS 1%、5%、25%、50%、75%、95%、99%分位值以及平均值的分布趋势。
图片

FPS流畅度分布

FPS流畅度分布图中展示了FPS_FAS占比、FPS_NORMAL占比、FPS_BAD占比以及FPS_BAD增长率。
图片
参数说明:

  • FPS_BEST:50以上
  • FPS_NORMAL:40~50
  • FPS_BAD:0~40

详细信息

详细信息列表中展示了页面样本量、FPS平均值、掉帧归因、掉帧评分等信息。
图片

  • 掉帧归因:单击进入详情页面,例如归因是卡顿,那么单击进入卡顿趋势。
  • FPS详情:单击进入FPS详情页面,查看FPS分位值趋势图、FPS流畅度分布、样本量分布、APP版本排行、机型版本排行。
  • 丢帧详情:单击进入丢帧详情页面,查看严重丢帧率、丢帧趋势、丢帧分布、样本量分布。

异常统计和追踪

页面的异常提供了慢页面分析、卡顿页面分析、崩溃页面分析这三种异常场景的数据查询与异常归因的能力,查询该模块页面的慢访问次数与分布。

  • 慢页面分析:慢页面趋势图、慢页面分布、慢页面列表
  • 卡顿页面分析:卡顿趋势、卡顿分布、卡顿列表
  • 崩溃页面分析:崩溃趋势、崩溃分布、异常崩溃列表