Performance Monitoring 使用跟踪记录来收集有关应用中受监控进程的数据。跟踪记录是一种报告,包含两个时间点之间在应用中捕获的数据。
对于 Apple 和 Android 应用,Performance Monitoring 会自动衡量应用中不同屏幕的呈现性能。Performance Monitoring 会为应用中的每个屏幕创建一个屏幕呈现跟踪记录。这些跟踪记录会收集并衡量以下指标:
应用中的缓慢或冻结的帧可能会导致设备性能不佳,也称为卡顿或延迟。捕获冻结的帧和呈现速度缓慢的帧指标有助于您识别性能不佳的屏幕,从而能够改进应用的呈现性能。
您可以在跟踪记录表的“屏幕呈现”标签页中查看屏幕呈现跟踪记录的数据。跟踪记录表位于 Firebase 控制台“性能”页面底部。如需了解详情,请参阅跟踪、查看和过滤性能数据。
屏幕呈现跟踪记录收集的指标
这些跟踪记录属于开箱即用的跟踪记录,因此您无法向其中添加自定义指标或自定义特性。
系统在计算呈现速度缓慢的帧和冻结的帧时会假定设备刷新频率为 60Hz。如果实际的设备刷新频率低于 60Hz,则每帧的呈现速度会更缓慢,因为每秒呈现的帧数会更少。如果呈现速度更缓慢,由于有更多帧会呈现得更慢或冻结,因此可能会导致系统报告的呈现速度缓慢的帧或冻结的帧的数量增加。不过,如果设备刷新频率高于 60Hz,那么每帧的呈现速度也会相应地更快;这也会减少系统报告的呈现速度缓慢的帧或冻结的帧的数量。这是 Performance Monitoring SDK 中的一项当前限制。
呈现速度缓慢的帧
此指标是指在特定屏幕中呈现速度明显缓慢的用户会话所占的百分比。具体而言,该指标是指超过 50% 的帧呈现时间超过 16 毫秒的屏幕实例所占的百分比。
冻结的帧
此指标是指在特定屏幕中遇到大量冻结的帧的用户会话所占的百分比。具体而言,该指标是指超过 0.1% 的帧呈现时间超过 700 毫秒的屏幕实例所占的百分比。
屏幕呈现跟踪记录是如何生成的?
每个屏幕呈现跟踪记录都由应用中的视图元素的名称标识。Performance Monitoring 客户端会为应用使用的每个 Activity 或 Fragment 创建屏幕呈现跟踪记录。
每个屏幕呈现跟踪记录都会执行以下操作:
当对象在屏幕上变为可见时,为每个 Activity 和 Fragment 类启动。
OnActivityStarted()
用于 Activity,OnFragmentResume()
用于 Fragment。当对象在屏幕上不可见时,为每个 Activity 和 Fragment 类停止。
OnActivityStopped()
用于 Activity,OnFragmentPaused()
用于 Fragment。
跟踪、查看和过滤性能数据
如需查看实时性能数据,请确保您的应用使用与实时数据处理功能兼容的 Performance Monitoring SDK 版本。详细了解实时性能数据。
在信息中心内跟踪关键指标
如需了解关键指标的趋势如何,请将这些指标添加到“性能”信息中心顶部的指标板中。您可以通过查看逐周变化情况来快速识别回归问题,或者确认近期的代码更改是否正在改善性能。
如需将指标添加到指标板,请按以下步骤操作:
- 前往 Firebase 控制台中的“性能”信息中心。
- 点击空白指标卡片,然后选择要添加到指标板的现有指标。
- 在填充了信息的指标卡片上点击 可查看更多选项,例如替换或移除指标。
该指标板以图表形式以及数值百分比变化的形式显示一段时间内收集的指标数据。
详细了解如何使用信息中心。
在控制台上查看屏幕性能
如需查看您的跟踪记录,请前往 Firebase 控制台中的“性能”信息中心,向下滚动到跟踪记录表,然后点击相应的子标签页。该表会针对每个跟踪记录显示一些热门指标,您甚至可以按特定指标的百分比变化对该列表进行排序。
Performance Monitoring 在 Firebase 控制台中提供了一个问题排查页面,其中会突出显示指标变化,以便您轻松快速地解决性能问题并最大限度地降低对应用和用户的影响。在了解到可能存在性能问题时(例如在以下情况下),您可以使用该问题排查页面:
- 您在信息中心选择了相关指标,并注意到较大的增量。
- 在跟踪记录表中,您通过排序在顶部显示最大的增量,并且看到显著的百分比变化。
- 您收到一条向您通知性能问题的电子邮件提醒。
您可以通过以下方式访问该问题排查页面:
- 在指标信息中心内,点击查看指标详情按钮。
- 在任意指标卡片上,选择
。该问题排查页面会显示有关所选指标的信息。 => 查看详情 - 在跟踪记录表中,点击跟踪记录名称或与该跟踪记录关联的行中的任意指标值。
- 在电子邮件提醒中,点击立即调查。
点击跟踪记录表中的跟踪记录名称后,您可以深入了解感兴趣的指标。点击
- 按“应用版本”过滤可查看有关过去版本或最新版本的数据
- 按“设备”过滤可了解旧设备处理应用的方式
- 按“国家/地区”过滤可确保您的数据库位置不会影响特定区域
详细了解如何查看跟踪记录的数据。
Fragment 特性
在 Android 应用中,您可以将 Fragment 与其他 Activity 或 Fragment 重复搭配使用。Fragment 的性能可能因其呈现时所在的 Fragment 或 Activity 而异。根据与某个 Fragment 关联的 Activity 或 Fragment,使用以下特性可详细了解其在父级 Fragment 中的性能:
- Hosting_activity - 托管 Fragment 的 Activity。让您了解 Fragment 在托管 Activity 中的性能。
- Parent_fragment - 您正在调查的 Fragment 的父级 Fragment。让您了解 Fragment 在父级 Fragment 中的性能。如果没有父级 Fragment,则该特性会设置为 No Parent。