设置性能问题警报

如果代码更改或网络请求降低了应用程序的性能,请使用性能监控警报通知项目成员。

您可以为您的应用程序设置和自定义警报,当事件的性能超过设定的阈值时通知您。

什么触发警报?

当您的应用的指标超过您在 Firebase 控制台中为指定百分比(如果适用)定义的阈值时,会触发警报。仅当您的应用使用实时兼容的 SDK 版本时才会触发警报。

应用开始时间

为应用启动时间配置警报时,如果满足以下所有条件,则会触发警报:

  • Firebase 在过去一小时内为您的应用的最新版本记录了至少100 个_app_start跟踪样本。
  • _app_start跟踪的持续时间在过去一小时内超过了应用程序定义的阈值以及配置的百分位数。
  • 在您的应用程序的最新版本中,之前没有针对相同阈值发出警报。

自定义代码跟踪

为自定义代码跟踪指标配置警报时,如果满足以下所有条件,则会触发警报:

  • Firebase 在过去一小时内为您的应用的最新版本记录了至少100 个自定义代码跟踪示例。
  • 跟踪的持续时间在过去一小时内超过了应用程序定义的阈值以及配置的百分位数。
  • (仅适用于 iOS+ 和 Android)在您的应用程序的最新版本中,之前没有针对相同阈值发出警报。
  • (仅适用于网络)过去3 天内没有针对相同阈值发出过警报。

网络请求

为网络请求指标配置警报时,如果满足以下所有条件,则会触发警报:

  • Firebase 在过去一小时内记录了至少100 个与您应用的所有版本的 URL 模式匹配的样本
  • 指标的聚合值在过去一小时内超过了定义的阈值:
    • 响应时间:聚合值超过了为配置的百分位数设置的阈值
    • 成功率:(仅适用于 iOS+/Android)所有用户的聚合值低于设定的阈值
  • 在过去3 天中,之前没有针对相同阈值发出过警报。

屏幕渲染

为屏幕渲染指标配置警报时,如果满足以下所有条件,则会触发警报:

  • Firebase 在过去一小时内为您的应用的最新版本记录了至少100 个屏幕渲染示例。
  • 指标的聚合值在过去一小时内超过了定义的阈值:
    • 冻结帧:聚合值超过设置的阈值
    • 慢帧:聚合值超过设置的阈值
  • 在您的应用程序的最新版本中,之前没有针对相同阈值发出警报。

页面加载

为页面加载指标配置警报时,如果满足以下所有条件,则会触发警报:

  • Firebase 在过去一小时内为您的应用记录了至少100 个页面加载样本
  • 指标的聚合值在过去一小时内超过了定义的阈值,并且对于配置的百分位数:
    • 首次输入延迟:聚合值超过设置的阈值和配置的百分位数
    • 第一次内容绘制:聚合值超过了设置的阈值和配置的百分位数
    • 第一次绘制:聚合值超过了设置的阈值和配置的百分位数
  • 在过去3 天中,之前没有针对相同阈值发出过警报。

了解有关配置警报默认百分位数以及为特定类型的跟踪和指标设置警报的最佳实践的更多信息。

其他性能指标的警报或与SlackJiraPagerDuty的内置 Firebase 集成的警报不适用于性能监控警报。

接收警报

性能监控警报通过电子邮件通知发送。

要接收性能监控警报,您必须具有firebaseperformance.config.update权限。默认情况下,以下角色包括此必需的权限:

警报及其设置是项目范围的。这意味着,默认情况下,每个项目成员(具有接收警报所需的权限)都会在触发警报时收到电子邮件通知。

性能监控验证警报以确保数据有效并且警报处于活动状态。如果以下情况之一为真,则警报被视为有效:

  • 警报是为性能监控在过去 90 天内收到数据的资源 ID 创建的。
  • 该警报是最近为自定义 URL 模式创建的。创建自定义 URL 模式并设置警报后,您有 90 天的时间发送该模式的数据。如果在 90 天的时间段内未发送任何数据,性能监控将删除该警报。有关自定义 URL 模式的更多信息,请参阅客户 URL 模式下的聚合数据

如果不满足其中任何一个条件,性能监控将删除警报。

为您自己的帐户打开/关闭警报

对于您自己的帐户,您可以在不影响其他项目成员的情况下打开/关闭性能监控警报。请注意,您仍然需要接收警报所需的权限。

在 Firebase 控制台的右上角,转到 Firebase 警报> Settings ,然后为性能监控警报设置您的帐户首选项。

配置警报

要配置性能监控警报,您必须具有firebaseperformance.config.update权限。默认情况下,以下角色包括此必需权限: Firebase Performance AdminFirebase Quality AdminFirebase Admin和项目Owner 或 Editor

如果您尚未这样做,请将最新的性能监控 SDK 添加到您的应用程序。有关更多信息,请参阅WebAndroidAppleFlutter平台的入门指南。

在您注册的每个应用程序中,使用跟踪表仪表板报告卡为您要监控的每个指标配置警报。每个应用程序可以有一组不同的警报,每个警报都有不同的阈值(或根本没有警报)。

在 Traces 表中配置警报

  1. 转到 Firebase 控制台中的性能监控仪表板选项卡,然后选择要为其配置警报的应用程序。

  2. 向下滚动到屏幕底部的 Traces 表。

  3. 选择要设置警报的跟踪类型的选项卡,然后找到适用的行。

  4. 在该行的最右侧,打开溢出菜单 ( ) 并选择警报设置

  5. 按照屏幕上的说明设置应用程序的警报阈值和百分位数(如果适用),或打开/关闭警报。 Android 和 iOS 的默认百分位数为第 90 位,Web 为第 75 位。要了解有关默认百分位数的更多信息,请参阅在仪表板中跟踪关键指标

在仪表板报告卡中配置警报

  1. 转到 Firebase 控制台中的性能监控仪表板选项卡,然后选择要为其配置警报的应用程序。

  2. 在报告卡选项卡中,找到要为其配置警报的指标卡。

  3. 在所需的度量卡中,打开溢出菜单 ( ) 并选择警报设置

  4. 按照屏幕上的说明设置应用程序的警报阈值和百分位数(如果适用),或打开/关闭警报。 Android 和 iOS 的默认百分位数为第 90 位,Web 为第 75 位。要了解有关默认百分位数的更多信息,请参阅在仪表板中跟踪关键指标

设置性能警报的最佳实践

网络请求

Firebase 在 URL 模式下聚合来自类似网络请求的数据,可以是以下任一模式:

  • 用户定义的模式,称为自定义 URL 模式

  • Firebase 派生的模式,称为自动 URL 模式
    这些模式可能会根据您应用的最新使用行为随时间而变化。

为您的自定义 URL 模式设置警报

我们建议为您配置的任何自定义 URL 模式设置警报。由于 Firebase 会首先尝试将请求与自定义 URL 模式匹配,因此类似的请求会更一致地映射到相同的 URL 模式。这使自定义 URL 模式的警报对您的团队更有意义和有效,因为您已经确定该特定请求模式对您的应用程序很重要。

为自动 URL 模式设置警报

在为自动 URL 模式设置警报时,请确保自动 URL 模式已经稳定了几天。请记住,自动 URL 模式可能会随着时间而改变,并且警报配置不会延续到新的 URL 模式。这可能会导致您关心的模式的警报不正确或丢失。您还可以考虑创建自定义 URL 模式以确保此模式稳定。

网页加载

要了解衡量 Web 指标的推荐阈值,请参阅Core Web Vitals文档。

屏幕效果图

为了确保最佳的应用体验,用户会话应该没有缓慢和冻结的帧。性能监控建议您为大于 1% 的冻结帧设置警报,并为超过 5% 的慢速帧设置警报。您会发现这些值在性能警报配置期间作为默认设置存在。要详细了解过慢或冻结帧以及其他应用程序性能最佳做法,请参阅Google Play 指南