获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

了解 HTTP/S 网络请求性能数据(任何应用程序)

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

性能监控使用跟踪来收集有关应用程序中受监控进程的数据。跟踪是一种报告,其中包含在您的应用程序中的两个时间点之间捕获的数据。

对于所有应用类型,性能监控会自动为您的应用发出的每个网络请求收集跟踪,称为HTTP/S 网络请求跟踪。这些跟踪收集您的应用程序向服务端点发出请求和该端点的响应完成之间的时间的指标。对于您的应用程序向其发出请求的任何端点,性能监控会捕获几个指标:

  • 响应时间——从发出请求到完全收到响应之间的时间

  • 响应负载大小 - 应用程序下载的网络负载的字节大小

  • 请求负载大小 - 应用上传的网络负载的字节大小

  • 成功率 - 成功响应(100 - 399 范围内的响应代码)与总响应的百分比

您可以在跟踪表的网络请求子选项卡中查看来自这些跟踪的数据,该表位于性能仪表板的底部(在本页后面了解有关使用控制台的更多信息)。

性能监控会自动收集使用以下网络库的网络请求的指标:

迅速

  • 网址会话
  • URL连接

Objective-C

  • NSURLSession
  • NSURL连接

自定义网络请求数据聚合

除了针对网络请求的开箱即用工具和数据聚合之外,性能监控还支持以下选项:

  • 手动检测网络请求跟踪:开箱即用的监控包括应用程序的大多数网络请求。但是,某些请求可能不会被报告,或者您可能使用不同的库来发出网络请求。在这些情况下,您可以使用性能监控 API 手动检测自定义网络请求跟踪
  • 在自定义 URL 模式下聚合数据:如果 Firebase 没有通过其派生的自动 URL 模式匹配捕获特定 URL,您可以创建自定义 URL 模式来监控一组特定的 URL。
  • 自定义成功率的计算方式:有时,某些 API 端点会出现错误代码,或者已经在您的应用程序中处理了错误代码。在这些情况下,您可以配置成功率的计算方式,更准确地监控应用网络调用的成功率。

URL 模式下的数据聚合

Firebase 性能监控会自动汇总类似网络请求的数据,以帮助您了解网络请求性能的趋势。

对于每个请求,Firebase 都会检查网络请求的 URL 是否与 URL 模式匹配。如果请求 URL 与 URL 模式匹配,Firebase 会自动在 URL 模式下聚合请求的数据。 Firebase 在 Firebase 控制台的性能信息中心网络选项卡中显示 URL 模式及其聚合数据。

什么是 URL 模式?

URL 模式包含一个域和一个可以匹配 URL 路径的模式,例如: example.com/*/animals/** /*/animals/**。

  • URL 模式可以包含以下路径段:

    • 纯文本——匹配一个精确的字符串
    • * — 匹配单个路径段中的任何字符串
    • ** — 匹配任意路径后缀
  • URL 模式可以是:

例如:以下任何 URL 请求都可以匹配 URL 模式example.com/*/animals/**

  • example.com/singapore/animals
  • example.com/australia/animals/spiders
  • example.com/australia/animals/marsupials/koala.png

URL 模式的域也可以包含*作为其第一段,例如: *.example.com/*/fruits/**

Firebase仅将每个请求映射到一个 URL 模式。如果您配置了任何自定义 URL 模式,Firebase 会首先尝试将请求 URL 与这些模式匹配。如果 Firebase 未找到匹配的自定义 URL 模式,则会将请求 URL 匹配到最具代表性的自动 URL 模式。在以下部分中了解有关自动和自定义 URL 模式的更多信息。

自动 URL 模式

无需您进行任何配置,性能监控会尝试通过将应用的请求与自动 URL 模式匹配来反映应用的最新使用行为。

自动 URL 模式匹配如何工作?

Firebase 将每个请求与它从您的应用发送的请求中派生的最具代表性的自动 URL 模式进行匹配。但请注意,Firebase 会首先尝试将请求 URL 与任何已配置的自定义 URL 模式匹配。

以下是 Firebase 如何尝试将请求与您的应用中最具代表性的自动 URL 模式匹配的基本示例。

  1. 您的应用会向以下 URL 发送许多请求:

    • example.com/germany/animals/bears
    • example.com/germany/animals/birds
    • example.com/germany/cars

    Firebase 确定example.com/germany/**是您应用的常见请求模式,并将其作为自动 URL 模式添加到您的项目中。

    对于此 URL 模式的任何匹配请求,Firebase 会在自动 URL 模式example.com/germany/**下聚合请求的数据。

  2. 一周后,您的应用程序的大部分请求都发送至example.com/germany/animals/bearsexample.com/germany/animals/birds 。因此,Firebase 派生了一个更具代表性的 URL 模式example.com/germany/animals/**

    对于与此新 URL 模式的任何匹配请求,Firebase在新 URL 模式下聚合请求的数据。 Firebase 继续在example.com/germany/cars下汇总对example.com/germany/**的请求数据。

  3. 但是,在接下来的几周内,您的应用对example.com/germany/animals/bearsexample.com/germany/animals/birds的请求会大幅减少。 Firebase 确定example.com/germany/animals/**不代表您应用的最新使用行为,因此 Firebase 开始将这两个请求匹配回example.com/germany/**

    Firebase 不会在example.com/germany/animals/**下聚合任何进一步的请求数据,因为它不再是最具代表性的自动 URL 模式。

由于自动 URL 模式匹配是动态的,因此请注意以下事项:

  • 来自先前请求的匹配和聚合数据不受新 URL 模式的影响。 Firebase 不会追溯地重新聚合请求数据。

  • 只有未来的请求会受到新 URL 模式的影响。 Firebase 将每个请求映射到最具代表性的自动 URL 模式。但请注意,Firebase 会首先尝试将请求 URL 与任何已配置的自定义 URL 模式匹配。

查看自动 URL 模式及其数据

Firebase 在跟踪表的网络请求子选项卡中显示所有 URL 模式及其聚合数据,该表位于 Firebase 控制台性能信息中心的底部。

您可能会看到带有未分类标签的 URL 模式。这些是“广泛的”自动 URL 模式,Firebase 可以在这些模式下聚合与任何更具体的 URL 模式不匹配的请求的数据。

当在 URL 模式下聚合的数据的数据保留期结束时,Firebase 会从 URL 模式中删除该数据。如果在自动 URL 模式下聚合的所有数据都过期,则 Firebase 会从 Firebase 控制台中删除该 URL 模式。

自定义 URL 模式

您可以创建自定义 URL 模式来监控 Firebase 未通过其派生的自动 URL 模式匹配捕获的特定 URL 模式。例如,您可以使用自定义 URL 模式对特定 URL 进行故障排除或随着时间的推移监控一组特定的 URL。

访问创建自定义 URL 模式以了解更多信息。

跟踪、查看和过滤性能数据

要查看实时性能数据,请确保您的应用使用与实时数据处理兼容的性能监控 SDK 版本。了解有关实时性能数据的更多信息

跟踪仪表板中的特定指标

要了解关键指标的趋势,请将它们添加到性能仪表板顶部的指标板上。您可以通过查看每周更改来快速识别回归,或者验证您的代码中最近的更改是否正在提高性能。

Firebase 性能监控仪表板中的指标板图像

要将指标添加到您的指标板,请执行以下步骤:

  1. 转到 Firebase 控制台中的性能信息中心
  2. 单击一个空的指标卡,然后选择一个现有指标添加到您的板上。
  3. 单击填充的指标卡上的以获取更多选项,例如替换或删除指标。

指标板以图形形式和数字百分比变化显示随时间收集的指标数据。

了解有关使用仪表板的更多信息。

查看痕迹及其数据

要查看您的跟踪,请转到 Firebase 控制台中的性能仪表板,向下滚动到跟踪表,然后单击相应的子选项卡。该表显示了每个跟踪的一些顶级指标,您甚至可以按特定指标的百分比变化对列表进行排序。

性能监控在 Firebase 控制台中提供了一个故障排除页面,该页面突出显示了指标更改,从而可以轻松快速地解决并最大限度地减少性能问题对您的应用和用户的影响。当您了解潜在的性能问题时,您可以使用故障排除页面,例如,在以下情况下:

  • 您在仪表板上选择相关指标,您会注意到一个很大的增量。
  • 在跟踪表中,您排序以在顶部显示最大的增量,并且您会看到显着的百分比变化。
  • 您会收到一封电子邮件警报,通知您存在性能问题。

您可以通过以下方式访问故障排除页面:

  • 在指标仪表板上,单击查看指标详细信息按钮。
  • 在任何度量卡上,选择 => 查看详细信息。故障排除页面显示有关您选择的指标的信息。
  • 在跟踪表中,单击跟踪名称或与该跟踪关联的行中的任何度量值。
  • 在电子邮件警报中,单击立即调查

当您单击跟踪表中的跟踪名称时,您可以深入了解感兴趣的指标。点击过滤按钮,按属性过滤数据,例如:

按属性过滤的 Firebase 性能监控数据的图像
  • 应用版本过滤以查看有关过去版本或最新版本的数据
  • 设备过滤以了解旧设备如何处理您的应用
  • 国家/地区过滤以确保您的数据库位置不会影响特定区域

了解有关查看跟踪数据的更多信息。

下一步

  • 了解有关使用属性检查性能数据的更多信息。

  • 详细了解如何在 Firebase 控制台中跟踪性能问题

  • 为降低应用程序性能的网络请求设置警报。例如,如果特定 URL 模式的响应时间超过您设置的阈值,您可以为您的团队配置电子邮件警报。

  • 查看用户会话的详细报告,您可以在其中查看在同一会话期间收集的其他跟踪的时间线上下文中的特定跟踪。