跳到主要内容

CPU分析

CPU分析功能可以实时监测线上应用程序的CPU使用情况,通过提供详细CPU指标和CPU异常数来帮助开发者识别应用性能瓶颈并优化应用CPU使用,减少应用前台或后台运行的资源消耗,提升应用的响应速度和流畅度,进而改善用户体验,延长设备电池寿命,并减少发热。

指标分析

指标说明

指标说明
CPU使用率指在一定时间间隔内,CPU 处理任务的时间与该时间间隔的总时间的比值。
计算公式:应用进程 CPU 时长 / 设备 CPU 核心频率时长 * 100%
CPU使用速率特定时间间隔内(1 分钟),应用进程消耗的 CPU 时间与采集时间的比率。对于多核系统来说,使用速率的最大值等于 CPU 核心数。
计算公式:应用进程 CPU 时长 / 采集时间

过滤条件

您可以对应用版本、设备、操作系统、渠道、业务场景等维度进行数据过滤。

趋势分析

展示了过滤条件下CPU使用率、CPU使用速率、样本量的趋势图;趋势图默认展示平均值,您可以在右侧筛选过滤出「25、50、75、90、99」中任一分位值的CPU使用率和CPU使用速率趋势图;分布图中展示了按应用版本、设备、操作系统、渠道、业务场景等维度了过滤后的指标数据;支持导出趋势分布图中的数据。

趋势图

分布图

线程 CPU 使用率

展示各线程的CPU使用率情况,支持导出各线程CPU使用率数据。

异常分析

CPU异常:应用在前台或后台一段时间内持续高CPU消耗。应用长时间的高CPU消耗会导致耗电加快、设备发热等。

指标说明

指标说明
异常次数触发CPU异常的总次数;30s内CPU使用速率超过阈值则被记录为一次CPU异常
异常率CPU异常次数 / 总启动次数
影响设备数发生CPU异常的设备数
影响设备占比发生CPU异常的设备数 / 总活跃设备数

过滤条件

您可以对应用版本、设备、操作系统、渠道、业务场景等维度进行数据过滤。

趋势分析

展示了过滤条件下异常指标「异常次数、异常率、影响设备数、影响设备占比」的趋势图;支持导出趋势图中的数据。

异常列表

展示发生CPU异常的明细数据,列表支持导出;异常问题归类按高频调用栈和线程名进行聚合归类;您可以上传DSYM/mapping文件对CPU异常堆栈进行符号化/反混淆

您可以过滤以下维度来筛选数据:

过滤维度:异常堆栈、异常ID、userID、处理人、标签、异常类型、异常状态

异常详情

展示各异常问题详情信息,支持异常分享。

概览

单样本调用树:展示每个CPU异常问题详情「异常设备详情和堆栈详情」

设备详情:UserID、发生时间、会话时长、设备ID、应用版本、设备型号、操作系统、SessionID、地域、运营商、接入方式、页面名称、业务场景、CPU型号、CPU指令集、设备内存、剩余内存、应用占用内存、剩余存储空间。

堆栈详情

  • 火焰图:将采集的线程堆栈信息汇聚成火焰图展示;支持节点搜索和用户/系统节点筛选。

  • 线程调用树:将采集的线程堆栈信息聚合成一个颗调用树展示,右侧「CPU占比」为线程CPU使用率与应用CPU使用率的比值,值越大则说明线程CPU占用越多,展开每个线程树后,可查看具体函数调用来分析异常问题。

汇总调用树:将所有异常的单样本CPU异常数据聚合成火焰图和调用树来展示。

  • 火焰图

  • 汇总调用树

CPU异常阈值设置

点击「应用列表」-「设置」-「资源监控」进入到CPU设置页面,您可以根据实际需要更改CPU异常的阈值。

CPU设置

  • CPU 使用速率阈值:应用在前台的进程 CPU 使用速率超过阈值则识别为异常;默认阈值:3,最小值为 1,最大值为 16。
  • 线程 CPU 使用率阈值:线程的 CPU 使用率超过阈值则识别为异常;默认阈值:0.05,最小值为 0.01 ,最大值为 1。