You need to enable JavaScript to run this app.
文档中心
应用性能监控全链路版

应用性能监控全链路版

复制全文
下载 pdf
使用指南
CPU 监控
复制全文
下载 pdf
CPU 监控
CPU异常是应用在前台或后台持续的大量消耗CPU资源,CPU使用率长时间较高会导致耗电快、引起手机发热等,需要重点监控优化。CPU监控提供线上CPU指标,并提供一定的和CPU异常归因分析能力,根据火焰图定位CPU异常问题。​
前提条件​
CPU指标​
CPU指标确认总体CPU使用状态。​
筛选条件​
您可以通过以下筛选条件进行数据筛选。​
  • Android系统支持的筛选维度:​
  • 时间、设备ID、User ID、前后台、系统版本、APP版本、APP小版本号、机型、APM SDK版本、下载渠道、采集场景/页面、网络类型、进程名称、是否主进程、电池剩余容量、CPU型号、是否充电、省电模式是否开启、机器温度状态、机器电池温度、机器是否正常状态自定义维度。​
  • iOS系统支持的筛选维度:​
  • 时间、设备ID、User ID、前后台、越狱状态、系统版本、APP版本、APP小版本号、机型、APM SDK版本、下载渠道、采集场景/页面、网络类型、自定义维度。​
指标趋势图​
CPU趋势展示了筛选条件下CPU指标的趋势图,默认展示CPU指标的样本量和平均值等分布趋势。​
​图片​​
单击指标详情,查看指标趋势图、多维分布。​
CPU指标监控提供两个核心指标CPU使用率(简称rate)和CPU使用速率(简称speed):​
注意​
iOS从线程信息里获取的CPU信息只有CPU使用率。​
​
指标​
计算方式/说明​
CPU使用率​
采样窗口内,进程CPU时长/系统CPU时长​
CPU使用速率​
采样窗口内,进程CPU时长/自然时长​
​
其他说明:​
  • 每次采样都会对应一次360ms的时间窗口。​
  • CPU时长也叫cpu time,即CPU实际运行的时间,可以理解为所有时间片之和;进程cpu时长就是目标进程分到的时间片之和;系统CPU时长就是所有进程的时间片之和。因此0 < rate < 1。​
  • 对于多核CPU的一个core来说,cpu time就是这个core实际工作的时间;这里是对于整个CPU来说,cpu time就是所有core的cpu time之和。因此0 < speed < 核数。​
指标详情​
CPU指标详情页面,可以查看某个线程的使用率的趋势图和多维分析。​
​图片​​
CPU异常​
CPU异常是应用在前台或者后台持续的大量消耗CPU资源,导致耗电发热问题严重。通过堆栈树和火焰图来定位异常类和函数。​
完成前提条件后,平台会根据SDK上报配置中,CPU监控模块下的指标应用在前台的进程CPU使用速率异常阈值和应用在后台的进程CPU使用速率异常阈值来判断CPU使用速率是否超过阈值。​
如果CPU使用速率连续超过阈值,平台会根据SDK上报配置中,CPU监控模块下的指标线程CPU使用率异常阈值找到CPU使用率超过阈值的线程,抓取线程堆栈。​
筛选维度​
您可以通过以下筛选条件进行数据筛选。​
  • Android系统支持的筛选维度:​
  • 时间、堆栈详情、设备ID、User ID、issue新增状态、前后台、系统版本、机型、APP版本、APP小版本号、APM SDK版本、下载渠道、ROM信息、省份、使用时长、进程名、厂商、采集场景/页面、issue状态、处理人、标签、自定义维度、PV自定义维度。​
  • iOS支持的筛选维度:​
  • 时间、堆栈详情、设备ID、User ID、issue新增状态、前后台、越狱状态、系统版本、机型、APP版本、APP小版本号、APM SDK版本、下载渠道、省份、使用时长、采集场景/页面、issue状态、处理人、标签、自定义维度、PV自定义维度。​
CPU异常趋势​
CPU异常趋势展示了筛选条件下CPU异常上报变化的趋势图。指标数据的右侧可以查看与上一周期相比崩溃数据的变化。​
​图片​​
指标说明:​
​
指标​
说明​
异常数​
筛选条件下发生的错误总数​
异常率​
筛选条件下发生的错误总数/筛选条件下所有用户启动的总次数​
影响用户数​
筛选按条件下整体去重后影响的用户总数​
整体影响用户比​
筛选按条件下整体去重后影响的用户总数/筛选条件下整体去重后的活跃用户总数​
平均影响用户比​
各时间点的整体影响用户比求和/有值的时间点的个数​
单次启动平均上报次数​
平均每个用户异常期间上报日志数量,可以用来估算异常持续时间​
​
CPU异常列表​
CPU异常列表根据异常线程和高频异常堆栈的函数名进行聚合展示。​
​图片​​
CPU异常详情​
CPU异常功能收集的issue是一个持续时间窗口的所有CPU异常线程的信息+堆栈,因此收集的信息+堆栈是可以转换成火焰图的。​
总调用树​
​图片​​
总调用树是将所有CPU异常线程的堆栈拍平,并聚合成一棵树,同时也能直接看火焰图。​
​图片​​
其中每行函数左侧的数字表示“权重”,权重数值越大表示这行函数导致的CPU占用越多,因此火焰图中越宽的函数即表示“权重”越大。​
线程调用树​
​图片​​
线程调用树和总调用树的区别是以线程维度将信息+堆栈分开:​
​图片​​
同时也能查看某一个CPU异常线程在这个时间窗口内的信息+堆栈。​
issue汇总调用树​
​图片​​
issue汇总调用树代表的不再是这一个issue,而是这个issue族里面的所有issue的堆栈聚合。​
​
最近更新时间:2026.02.10 19:56:12
这个页面对您有帮助吗?
有用
有用
无用
无用