针对性能问题设置提醒

如果因代码更改或网络请求而使应用的性能下降,可使用 Performance Monitoring 提醒来通知项目成员。

您可以为应用设置提醒并进行自定义,用于在事件性能超出设定的阈值时通知您。

哪些情况会触发提醒?

当应用的指标超出您在 Firebase 控制台中为指定的百分位(如果适用)定义的阈值时,系统就会触发提醒。仅在您的应用使用实时兼容的 SDK 版本时,系统才会触发提醒。

应用启动时长

如果您为“应用启动时长”配置了提醒,则只要满足以下所有条件,系统就会触发提醒:

  • Firebase 在过去一小时内记录了应用最新版本的至少 100 个 _app_start 跟踪记录的样本
  • 在过去一小时内,对于配置的百分位,_app_start 跟踪记录的时长超过了应用定义的阈值。
  • 在应用的最新版本中,同一阈值之前未引发过任何提醒。

自定义代码跟踪记录

如果您为自定义代码跟踪记录指标配置了提醒,则只要满足以下所有条件,系统就会触发提醒:

  • Firebase 在过去一小时内记录了应用最新版本的至少 100 个自定义代码跟踪记录的样本
  • 在过去一小时内,对于配置的百分位,跟踪记录的时长超过了应用定义的阈值。
  • (仅适用于 iOS+ 和 Android)在应用的最新版本中,同一阈值之前未引发过任何提醒。
  • (仅适用于 Web)在过去 3 天内,同一阈值之前未引发过任何提醒。

网络请求

如果您为网络请求指标配置了提醒,则只要满足以下所有条件,系统就会触发提醒:

  • Firebase 在过去一小时内记录了应用的所有版本中至少 100 个与网址格式匹配的样本
  • 在过去一小时内,指标的聚合值超出了定义的阈值:
    • 响应时间:对于配置的百分位,聚合值超过了设定的阈值
    • 成功率(仅限 iOS+/Android):所有用户的聚合值低于设定的阈值
  • 在过去 3 天内,同一阈值之前未引发过任何提醒。

屏幕呈现

如果您为屏幕呈现指标配置了提醒,则只要满足以下所有条件,系统就会触发提醒:

  • Firebase 在过去一小时内记录了应用最新版本的至少 100 个屏幕呈现的样本
  • 在过去一小时内,指标的聚合值超出了定义的阈值:
    • 冻结的帧:聚合值超过设定的阈值
    • 慢帧:聚合值超过设定的阈值
  • 在应用的最新版本中,同一阈值之前未引发过任何提醒。

网页加载次数

如果您为网页加载指标配置了提醒,则只要满足以下所有条件,系统就会触发提醒:

  • Firebase 在过去一小时内记录了应用的至少 100 个网页加载的样本
  • 在过去一小时内,对于配置的百分位,指标的聚合值超过了定义的阈值:
    • First Input Delay:对于配置的百分位,聚合值超过了设定的阈值
    • First Contentful Paint:对于配置的百分位,聚合值超过了设定的阈值
    • 首次渲染:对于配置的百分位,聚合值超过了设定的阈值
  • 在过去 3 天内,同一阈值之前未引发过任何提醒。

详细了解如何配置提醒默认百分位以及为特定类型的跟踪记录和指标设置提醒的最佳实践

系统不会针对其他性能指标或 Firebase 与 SlackJiraPagerDuty 的内置集成触发 Performance Monitoring 提醒。

接收提醒

接收默认提醒

默认情况下,Firebase 可以通过电子邮件发送 Performance Monitoring 提醒。

如需通过此默认机制接收 Performance Monitoring 提醒,您必须拥有 firebaseperformance.config.update 权限。默认情况下,以下角色拥有这项必需的权限:

提醒及其设置适用于整个项目。这意味着,默认情况下,拥有接收提醒所需权限的每个项目成员(非电子邮件群组)都将在系统触发性能提醒时收到电子邮件通知。

为自己的账号开启/关闭提醒

对于您自己的账号,您可以开启/关闭 Performance Monitoring 提醒,而不会影响项目的其他成员。请注意,您仍需要拥有接收提醒所需的权限。

如需开启或关闭 Performance Monitoring 提醒,请按以下步骤操作:

  1. 在 Firebase 控制台的右上角,前往 “Firebase 提醒”
  2. 然后,前往 “设置”,为 Performance Monitoring 提醒设定您的账号偏好设置。

设置发送到第三方服务的高级提醒

您还可以使用 Cloud Functions for Firebase 将 Performance Monitoring 提醒发送到团队的首选通知渠道。例如,您可以编写一个函数来捕获有关应用启动太慢的提醒事件,并将提醒信息发布到第三方服务(如 Discord、Slack 或 Jira)。

如需使用 Cloud Functions for Firebase 设置高级提醒功能,请按以下步骤操作:

  1. 设置 Cloud Functions for Firebase,您需完成以下任务:

    1. 为 Node.js 或 Python 设置开发环境。
    2. 安装并登录 Firebase CLI。
    3. 使用 Firebase CLI 初始化 Cloud Functions for Firebase。
  2. 编写并部署一个函数,该函数会从 Performance Monitoring 捕获提醒事件并处理事件载荷(例如,在 Discord 上的消息中发布提醒信息)。

如需了解您可以捕获的所有性能提醒事件,请参阅 Performance Monitoring 提醒参考文档。

自动移除无效提醒

Performance Monitoring 会验证提醒,以确保数据有效并且提醒处于活跃使用状态。如果满足以下任一条件,则提醒会被视为有效:

  • 提醒是为 Performance Monitoring 在过去 90 天内收到过其数据的资源 ID 创建的。
  • 提醒是最近为自定义网址格式创建的。创建自定义网址格式并设置提醒后,您可以在 90 天内发送该格式的数据。如果您在 90 天内未发送任何数据,则 Performance Monitoring 会移除该提醒。如需详细了解自定义网址格式,请参阅使用自定义网址格式来汇总数据

如果不满足以上任一条件,则 Performance Monitoring 会移除提醒。

配置提醒

如需配置 Performance Monitoring 提醒,您必须拥有 firebaseperformance.config.update 权限。默认情况下,以下角色拥有这项必需的权限:Firebase Performance AdminFirebase Quality AdminFirebase AdminProject Owner 或 Project Editor

将最新的 Performance Monitoring SDK 添加到您的应用(如果您尚未执行此操作)。如需了解详情,请参阅适用于 WebAndroidAppleFlutter 平台的入门指南。

在每个已注册的应用中,请使用“跟踪记录”表信息中心报告卡片为您要监控的每个指标配置提醒。每个应用可具有不同的提醒集,每个提醒具有不同的阈值(或者根本没有提醒)。

在“跟踪记录”表中配置提醒

  1. 转到 Firebase 控制台中的 Performance Monitoring“信息中心”标签页,然后选择您要为其配置提醒的应用。

  2. 向下滚动到屏幕底部的“跟踪记录”表。

  3. 选择您要设置提醒的跟踪类型的标签页,然后找到相应的行。

  4. 打开该行最右侧的溢出菜单 (),然后选择提醒设置

  5. 按照屏幕上的说明为应用设置提醒阈值和百分位(如果适用),或者开启/关闭提醒。 Android 和 iOS 的默认百分位为第 90 百分位,Web 的默认百分位为第 75 百分位。如需详细了解默认百分位,请参阅在信息中心内跟踪关键指标

在信息中心报告卡片中配置提醒

  1. 转到 Firebase 控制台中的 Performance Monitoring“信息中心”标签页,然后选择您要为其配置提醒的应用。

  2. 在“报告卡片”标签页中,找到您要为其配置提醒的指标卡片。

  3. 在所需的指标卡片中,打开溢出菜单 (),然后选择提醒设置

  4. 按照屏幕上的说明为应用设置提醒阈值和百分位(如果适用),或者开启/关闭提醒。 Android 和 iOS 的默认百分位为第 90 百分位,Web 的默认百分位为第 75 百分位。如需详细了解默认百分位,请参阅在信息中心内跟踪关键指标

设置性能提醒的最佳实践

网络请求

Firebase 会在网址格式下汇总类似网络请求的数据,这些格式可以是以下任一项:

为自定义网址格式设置提醒

我们建议您为已配置的所有自定义网址格式设置提醒。由于 Firebase 首先会尝试将请求与自定义网址格式匹配,因此类似的请求会以更加一致的方式映射到同一网址格式。这样一来,针对自定义网址格式的提醒对您的团队来说会更有意义,也更有效,因为您已确定该特定请求格式对您的应用十分重要。

为自动网址格式设置提醒

为自动网址格式设置提醒时,请确保自动网址格式会稳定几天。请注意,自动网址格式可能会随时间而变化,并且新的网址格式不会沿用相应的提醒配置。这可能会导致您关注的格式不正确或缺少提醒。您还可以考虑创建自定义网址格式,以确保此格式的稳定性。

网页加载

如需了解有关衡量 Web 指标的推荐阈值,请参阅核心网页指标文档。

屏幕呈现

为了确保提供最佳的应用体验,用户会话不应包含慢帧和冻结的帧。Performance Monitoring 建议您为大于 1% 的冻结的帧设置提醒,以及为超过 5% 的慢帧设置提醒。您会发现,这些值在性能提醒配置期间显示为默认设置。如需详细了解慢帧或冻结的帧过多现象以及其他应用性能最佳实践,请参阅 Google Play 指南