Skip to main content

指标接入指引

概述

Bugly专业版当前支持,崩溃,ANR,OOM/FOOM,FPS,挂起率,内存峰值,启动耗时等指标。不同指标的统计有所差异,主要分为两类指标:

  • 一类是由上报个例统计异常率的指标,包含崩溃,ANR,OOM/FOOM。这类指标,往往分子取异常上报个例,分母取联网设备数(按设备ID去重)。
  • 一类是独立采集数据统计,跟问题上报个数多少并不直接关联,包含FPS、挂起率、内存峰值以及启动。

崩溃,错误以及Android的ANR和OOM,默认全量开启监控,暂不支持采样。除此之外,卡顿,启动,内存,以及iOS平台的ANR和FOOM,默认关闭监控,需要用户主动开启监控,允许用户设置采样率。

在确认配置正常开启后,在数据总览,或者异常概览,指标分析页可以查看相关指标的数据。

数据总览

metric

异常概览

提醒

崩溃、错误,以及Android平台的ANR和OOM指标,都可以通过概览页查看。

metric

指标分析

提醒

iOS的ANR及FOOM,卡顿,内存峰值,以及启动耗时等指标,通过指标分析页查看。

metric

问题列表

除了通过数据总览,异常概览和指标分析页分析指标数据外,崩溃,ANR,OOM/FOOM以及错误的指标还可以在问题列表中,进行自由分析。

metric

崩溃

崩溃:即Crash,指应用停止正常运行并且退出。崩溃的指标包含设备崩溃率,次数崩溃率,以及人数崩溃率。

异常率的定义如下:

  • 设备崩溃率 = 影响设备数 / 联网设备数。
  • 次数崩溃率 = 发生次数 / 联网设备数 。
  • 人数崩溃率 = 影响用户数 / 联网设备数 。

统计字段的定义:

  • 影响设备数:发生崩溃的设备,按设备ID去重统计数量。
  • 影响用户数:发生崩溃的用户,按用户ID去重统计数量。
  • 联网设备数:联网设备,按设备ID去重统计数量。

产品绑定了生效中的资源包的情况下,只要Bugly SDK被正常初始化,且产品有生效中的资源包,即可正常上报。可以通过查看联网设备数来查看相关的上报情况。

怎么判断有没有正常接入崩溃监控?

  • 第一步:接入阶段,模拟一个异常,检查是否有上报。
  • 第二步:发布后,检查联网设备数,是否跟放量一致。
  • 第三步:关注产品是否有欠费。产品欠费后,Bugly平台会停止崩溃上报。

ANR

ANR:应用在运行过程中,由于应用无响应导致被系统强制退出,计为一次ANR。

异常率的定义如下:

  • 设备ANR率 = 影响设备数 / 联网设备数。
  • 次数ANR率 = 发生次数 / 联网设备数 。
  • 人数ANR率 = 影响用户数 / 联网设备数 。

统计字段的定义:

  • 影响设备数:发生ANR的设备,按设备ID去重统计数量。
  • 影响用户数:发生ANR的用户,按用户ID去重统计数量。
  • 联网设备数:联网设备,按设备ID去重统计数量。

Android的ANR跟崩溃一样,只要Bugly SDK被正常初始化,且产品有生效中的资源包,即可正常上报。也就是Android的ANR监控当前不支持用户开关,默认是开启的。

iOS的ANR则另外还受配置控制,默认是不开启监控的。用户需要到 设置/SDK配置 中,创建一个配置任务或者修改已有的配置任务,打开ANR监控。配置的更多详情请参数《SDK配置使用指引》

ANR

重要提醒
  1. Android的ANR监控,只需要SDK正常初始化,产品包含生效中的资源包,即可正常上报。也就是Android的ANR监控当前不支持用户开关,默认是开启的。
  2. iOS的ANR监控,支持用户开关,在SDK初始化,为产品购买资源包后,需要创建配置任务,打开iOS的ANR监控。

OOM

Android平台上,OOM率包含以下三种类型:

  • Java OOM率:进程Java内存使用超标导致的崩溃问题概率
  • Native OOM率:进程native内存使用超标导致的崩溃问题概率
  • FD OOM率:进程fd资源使用超标导致的崩溃问题概率

异常率的定义:

  • 设备OOM率 = 影响设备数 / 联网设备数。
  • 次数OOM率 = 发生次数 / 联网设备数 。
  • 人数OOM率 = 影响用户数 / 联网设备数 。

统计字段的定义:

  • 影响设备数:发生OOM的设备,按设备ID去重统计数量。
  • 影响用户数:发生OOM的用户,按用户ID去重统计数量。
  • 联网设备数:联网设备,按设备ID去重统计数量。

Android的OOM跟崩溃一样,只要Bugly SDK被正常初始化,且产品有生效中的资源包,即可正常上报。也就是Android的OOM监控当前不支持用户开关,默认是开启的。

FOOM

iOS平台,FOOM(Foreground Out Of Memory)指应用在前台因消耗内存过多引起系统强杀。FOOM 更多细节见《iOS FOOM》

异常率的定义如下:

  • 设备FOOM率 = 影响设备数 / 联网设备数。
  • 次数FOOM率 = 发生次数 / 联网设备数 。
  • 人数FOOM率 = 影响用户数 / 联网设备数 。

统计字段的定义:

  • 影响设备数:发生FOOM的设备,按设备ID去重统计数量。
  • 影响用户数:发生FOOM的用户,按用户ID去重统计数量。
  • 联网设备数:联网设备,按设备ID去重统计数量。

iOS平台的FOOM,默认不开启监控。用户需要到 设置/SDK配置 中,创建一个配置任务或者修改已有的配置任务,打开FOOM监控。配置的更多详情请参数《SDK配置使用指引》

OOM

错误

错误是指用户自定义的异常,通过Bugly SDK提供的接口上报到Bugly平台,详细见《自定义错误使用指引》

异常率的定义如下:

  • 设备错误率 = 影响设备数 / 联网设备数。
  • 次数错误率 = 发生次数 / 联网设备数 。
  • 人数错误率 = 影响用户数 / 联网设备数 。

统计字段的定义:

  • 影响设备数:上报错误的设备,按设备ID去重统计数量。
  • 影响用户数:上报错误的用户,按用户ID去重统计数量。
  • 联网设备数:联网设备,按设备ID去重统计数量。

跟崩溃一样,只要Bugly SDK被正常初始化,且产品有生效中的资源包,错误即可正常上报。

错误的上报完全由应用自行决定,由应用调用SDK的相关接口主动上报。因此如果发现错误指标没有数据,需要按以下步骤检查:

  • Bugly SDK是否有被正常初始化。
  • 应用是否有正确调用相关接口,在接入阶段可以自验证接口的调用。
  • 产品是否有生效中的资源包。当产品欠费,或者没有购买资源包时,错误无法上报。

卡顿指标

卡顿指标包含FPS,以及挂起率,默认关闭(即不采集),需要用户通过创建配置任务主动开启。配置的更多详情请参数《SDK配置使用指引》

  • FPS:帧率,在应用运行时,GPU和CPU合作可产生的图像的数量,计量单位是帧/秒(FramePerSecond,缩写FPS),通常是评估硬件性能与应用体验流畅度的指标。
  • 挂起率:如果应用两帧之间的刷新延时超过200ms,则认为此时应用不能很好地响应用户的交互,累加到挂起时间中。一个设备的挂起率,指这个设备在一天中,总的挂起时间除以其前台总时长,单位是秒/小时。

有关卡顿指标的统计细节请查看《卡顿监控使用指引》

当卡顿指标没有数据时,请按以下步骤检查:

  • Bugly SDK是否有被正常初始化。
  • 是否打开配置开关,设置恰当的用户采样率。配置检查如下图所示:设置/SDK配置,检查配置任务中的卡顿指标项。
  • 产品是否有生效中的资源包。当产品欠费,或者没有购买资源包时,卡顿指标无法上报。

OOM

内存峰值

内存峰值,描述的是应用一次运行期间,使用内存的最大值。

  • 物理内存峰值:一次运行期间,应用使用的物理内存峰值,即 PSS 峰值。
  • 虚拟内存峰值:一次运行期间,应用使用的虚拟内存峰值,即 VSS 峰值。
  • Java 堆内存峰值:一次运行期间,应用所使用的 Java 堆内存峰值。
  • 前台内存峰值:一次运行期间,应用在前台使用的内存峰值。
  • 后台内存峰值:一次运行期间,应用在后台运使用的内存峰值。

当内存峰值没有数据时,请按以下步骤检查:

  • Bugly SDK是否有被正常初始化。
  • 是否打开配置开关,设置恰当的用户采样率。配置检查如下图所示:设置/SDK配置,检查配置任务中的内存峰值项。
  • 产品是否有生效中的资源包。当产品欠费,或者没有购买资源包时,内存峰值无法上报。

OOM

启动耗时

启动监控的指标是启动耗时,包含冷启动耗时和温启动耗时,详细内容见《启动监控使用指引》

  • 默认冷启动:从进程创建到首个Activity首帧绘制。
  • 冷启动:从应用进程创建,到启动页完成首次渲染,业务可以自定义启动结束点。
  • 温启动:进程已经创建的情况下,不存在active的Activity的情况下,从Activity的打开到页面完成首次渲染。
  • 前后台切换:应用在后台挂起状态,再切前台。
为什么Android要有默认冷启动?

Android平台,提供了 AppLaunchMonitor#reportAppFullLaunch 接口,允许用户自定义启动结束点。各应用的启动结束点意义不同,应用之间无法做横向比较。而默认冷启动,则取首个Activity首帧绘制为启动结束统计点,便于应用之间比较启动耗时。

当启动指标没有数据时,请按以下步骤检查:

  • Bugly SDK是否有被正常初始化。
  • 是否打开配置开关,设置恰当的用户采样率。配置检查如下图所示:设置/SDK配置,检查配置任务中的启动指标。
  • 产品是否有生效中的资源包。当产品欠费,或者没有购买资源包时,启动指标无法上报。

OOM