启动分析

1.概述

启动分析通过提供详尽的启动耗时、慢启动情况、启动崩溃数据。帮助您把控应用的启动性能状态,从源头减少客户流失

image

2.名词解释

2.1启动类型

  1. 首次启动:App安装后的第一次启动,属于特殊的冷启动,记为首次启动

  2. 冷启动:App结束进程,或退出到后台,进程被系统回收后,再次启动的过程

  3. 热启动:App程序从后台被唤起,或从其他 App界面切换回来的过程

2.2首次启动和冷启动支持启动阶段性能拆解

其中安卓的定义为:

  1. 初始化耗时:init时间为application的attachBaseContext方法开始到结束

  2. 页面构建耗时:build时间为application的attachBaseContext方法结束到application的onCreate方法结束

  3. 页面加载耗时:load时间为application的onCreate方法结束到页面onResume

iOS的定义为:

  1. Pre-初始化耗时:从进程开始函数exec开始到指定+load执行的阶段

  2. 初始化耗时:从指定的+load执行到finishLaunching的阶段

  3. 应用构建耗时:从finishLaunching到FirstVC.viewDidLoad()的阶段

  4. 页面加载耗时:从FirstVC.viewDidLoad()到FirstVC.viewDidAppear()结束,首次渲染完成

2.3其他指标

  1. 慢启动:在首次启动/冷启动/热启动的启动类型中,超过自设置阈值的启动被定义为慢启动,默认首次启动/冷启动超过3秒为慢启动,热启动超过1秒为慢启动

  2. 启动崩溃:在启动阶段中出现的崩溃信息,支持划分首次启动、冷启动、热启动状态下的崩溃,默认启动耗时上限为8秒,超出时间的崩溃不被划分至启动崩溃,您可以在启动设置中子定义启动耗时上限,可以自定义设置启动上限,最高值为20秒

  3. 自定义性能分解:您可以在SDK中自定义启动阶段的拆解,自定义埋点的阶段分解会在启动趋势-性能分解和慢启动详情的启动时序图中展示

3.启动设置

image

启动设置为全局控件,影响启动趋势,慢启动分析、启动崩溃分析中的数据,修改后实时生效,页面将会自动刷新:

  • 慢启动阈值:超过自设置阈值的启动被定义为慢启动,可以在慢启动分析中分类展示;冷启动/首次启动默认为3秒,可以在弹窗中修改;热启动默认为1秒,可以在弹窗中修改

注意

必须为数字、仅保留到两位小数、最小0.01

  • 启动耗时:超出的将不计入启动耗时、慢启动以及启动崩溃,默认上限启动耗时上限为8秒。您可以在启动设置中子定义启动耗时上限,可以自定义设置启动上限,最高值为20秒

注意

必须为数字、仅保留到两位小数、最多为20秒、最小0.02s、慢启动阈值不能超过启动耗时上限

4.启动趋势

4.1启动耗时和次数

展示当前筛选维度和时间状态下的启动次数、平均耗时、以及分位数,字段含义如下:

  1. 冷/热/首次启动次数:在筛选时间段+条件下的启动次数

  2. 冷/热/首次启动耗时平均值:在筛选时间段+条件下的启动耗时平均值

  3. 冷/热/首次启动耗时50%分位数:在筛选时间段+条件下的启动耗时的中位数

  4. 冷/热/首次启动耗时75%分位数:在筛选时间段+条件下的启动耗时的75%分位数

  5. 冷/热/首次启动耗时90%分位数:在筛选时间段+条件下的启动耗时的90%分位数

4.2启动耗时分布

image展示当前筛选维度和时间状态下的冷/热/首次启动耗时分布。图表颗粒度:按照每x.y00~x.y99秒(s)划分,字段含义如下:

  1. 冷/热/首次启动分布次数(折线展示):在整体的筛选时间段内,以及筛选条件+启动耗时范围内的启动次数

  2. 冷/热/首次启动耗时占比(柱形图中展示):冷/热/首次启动分布次数/(在整体的筛选时间段内,以及筛选条件下的总冷/热/首次启动启动次数)

4.3性能分解

image展示当前筛选维度和时间状态下的性能分解的时间,仅限首次启动、冷启动;在选择热启动时,不展示此图表。

如果您有自行埋点上传更细粒度的耗时(安卓/iOS均最多埋10个点),则按照您埋点所取数据展示,按照开始时间-结束时间计算平均值,和默认采集的几个耗时段同时展示在趋势图表中。预置字段的含义请参考本文档中的「名词解释」部分

5.慢启动分析

5.1慢启动耗时和次数

展示当前筛选维度和时间状态下的慢启动的次数、正常启动次数、以及平均慢启动耗时,字段含义如下:

  1. 慢启动次数:在筛选时间段+条件下符合慢启动条件的次数

  2. 正常启动次数:在筛选时间段+条件下的总启动次数-慢启动次数

  3. 平均慢启动耗时:安卓在筛选时间段+条件下的慢启动耗时平均值

5.2慢启动列表image

展示慢启动问题发生的列表,字段如下:

  1. umid:友盟id,标记设备的唯一标识

  2. 用户ID:您可以通过账号统计如没有展示“--”

  3. 发生时间:服务端获取到数据的时间

  4. 问题类型:慢启动

  5. 应用版本

  6. 启动时长(单位为秒)

  7. 设备型号

5.3慢启动详情

image

展示慢启动设备的详细启动情况与设备信息,如果您设置了账号统计则也会展示用户ID

启动时序图展示单一设备的启动时序,总耗时预置采集和自定义采集在同一张图中展示,如果没有自定义采集则只展示总耗时和预置采集内容。预置采集的字段详细定义请参考本文档中的名词解释,自定义埋点定义启动阶段请参考集成文档

设备信息中展示了此台设备的详细信息,分为设备信息和操作系统信息

6.启动崩溃分析

image

展示首次启动、冷启动、热启动筛选条件下的崩溃率、崩溃次数、影响用户数、影响用户占比的趋势以及列表。可下钻至某条崩溃的错误详情页面,按照设备已经启动的时间,默认设置为8秒,用户可以在启动设置中自行更改,更改后页面自动刷新,展示新定义下的启动崩溃情况

崩溃列表与崩溃分布展示的是启动阶段的崩溃与维度分布情况,点击崩溃列表中的摘要可以跳转至此条崩溃的错误详情页面,功能使用上与崩溃分析一致,详情页面的说明请见错误详情。