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

自定义网络请求数据聚合

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

不过,有时您需要自定义 Firebase 聚合特定网络请求数据的方式,以更好地支持您应用的用例。我们提供两种方式来自定义网络请求的数据聚合:自定义 URL 模式下的聚合数据自定义成功率的计算方式

在自定义 URL 模式下聚合数据

对于每个请求,Firebase 都会检查网络请求的 URL 是否与URL 模式匹配。如果请求 URL 与 URL 模式匹配,Firebase 会自动在 URL 模式下聚合请求的数据。

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

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

自定义 URL 模式匹配如何工作?

Firebase 会尝试将请求 URL 与任何已配置的自定义 URL 模式匹配,然后再回退到自动 URL 模式匹配。对于自定义 URL 模式的任何匹配请求,Firebase 会在自定义 URL 模式下聚合请求的数据。

如果请求的 URL 匹配多个自定义 URL 模式,则 Firebase 仅根据以下特定顺序将请求映射到最具体的自定义 URL 模式:纯文本 > * > **在路径中从左到右。例如,对example.com/books/dog的请求匹配两个自定义 URL 模式:

  • example.com/books/*
  • example.com/*/dog

但是,模式example.com/books/*最具体的匹配 URL 模式,因为example.com/*/dog中最左边的部分books优先于example.com/books/*中最左边的部分*

创建新的自定义 URL 模式时,请注意以下事项:

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

  • 只有未来的请求会受到创建新的自定义 URL 模式的影响。您可能需要等待长达 12 小时,性能监控才能在新的自定义 URL 模式下收集和聚合数据。

创建自定义 URL 模式

您可以从跟踪表中的网络请求子选项卡创建自定义 URL 模式,该跟踪表位于 Firebase 控制台的性能信息中心的底部。

项目成员必须是所有者或编辑者才能创建新的自定义 URL 模式;但是,所有项目成员都可以查看自定义 URL 模式及其汇总数据。

您可以为每个应用程序创建最多 400 个自定义 URL 模式,并为该应用程序的每个域创建最多 100 个自定义 URL 模式。

要创建自定义 URL 模式,请从主机名开始,然后是路径段。主机名必须包含有效域,并且可以选择包含子域。使用以下路径段语法创建可以匹配 URL 的模式。

  • 纯文本——匹配一个精确的字符串
  • * - 匹配第一个子域段,或单个路径段中的任何字符串
  • ** — 匹配任意路径后缀

下表描述了一些潜在的自定义 URL 模式匹配。

匹配...创建一个自定义 URL 模式,例如...与此 URL 模式匹配的示例
准确的网址example.com/foo/baz example.com/foo/baz
任何单个路径段 ( * ) example.com/*/baz example.com/foo/baz
example.com/bar/baz
example.com/*/*/baz example.com/foo/bar/baz
example.com/bah/qux/baz
example.com/foo/* example.com/foo/baz
example.com/foo/bar

注意:此模式与example.com/foo不匹配。

任意路径后缀 ( ** ) example.com/foo/** example.com/foo
example.com/foo/baz
example.com/foo/baz/more/segments
subdomain.example.com/foo.bar/** subdomain.example.com/foo.bar
subdomain.example.com/foo.bar/baz
subdomain.example.com/foo.bar/baz/more/segments
第一个子域段 ( * ) *.example.com/foo bar.example.com/foo
baz.example.com/foo

查看自定义 URL 模式及其数据

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

查看自定义 URL 模式,请从跟踪表的网络请求子选项卡的下拉菜单中选择自定义模式。请注意,如果自定义 URL 模式没有任何聚合数据,则它只会出现在此列表中。

当在 URL 模式下聚合的数据的数据保留期结束时,Firebase 会从 URL 模式中删除该数据。如果自定义 URL 模式下聚合的所有数据都过期,则 Firebase不会从 Firebase 控制台中删除自定义 URL 模式。相反,Firebase 继续在跟踪表的网络请求子选项卡的自定义模式列表中列出“空”自定义 URL 模式。

删除自定义 URL 模式

您可以从项目中删除自定义 URL 模式。请注意,您无法删除自动 URL 模式。

  1. Performance dashboard向下滚动到跟踪表,然后选择Network requests子选项卡。

  2. 网络请求子选项卡的下拉菜单中选择自定义模式

  3. 将鼠标悬停在您要删除的自定义 URL 模式的行上。

  4. 单击该行最右侧的 ,选择Remove custom pattern ,然后在对话框中确认删除。

删除自定义 URL 模式时,请注意以下事项:

  • 任何未来的请求都会映射到下一个最具体的匹配自定义 URL 模式。如果 Firebase 未找到匹配的自定义 URL 模式,则会回退到自动 URL 模式匹配

  • 删除自定义 URL 模式不会影响来自先前请求的匹配项和聚合数据。

    在适用的数据保留期结束之前,您仍然可以在网络请求子选项卡(选中所有网络请求)中访问已删除的自定义 URL 模式及其聚合数据。当已移除的自定义 URL 模式下的所有聚合数据都过期时,Firebase 会删除自定义 URL 模式。

  • 网络请求子选项卡(已选择自定义模式)未列出任何已删除的自定义 URL 模式。

下一步

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

自定义成功率的计算方式

Firebase 针对每个网络请求监控的指标之一是请求的成功率。成功率是成功响应与总响应的百分比。此指标可帮助您衡量网络和服务器故障。

具体来说,Firebase 会自动将响应代码在 100 - 399 范围内的网络请求计为成功响应。

除了 Firebase 自动计为成功的响应代码之外,您还可以通过将某些错误代码计为“成功响应”来自定义成功率计算。

例如,如果您的应用具有搜索端点 API,您可以将 404 响应计为“成功”,因为搜索端点需要 404 响应。假设这个搜索端点每小时有 100 个样本,其中 60 个是 200 个响应,其中 40 个是 404 个响应。在您配置成功率之前,成功率为 60%。将成功率计算配置为将 404 响应计为成功后,成功率为 100%。

配置成功率计算

要为网络 URL 模式配置成功率计算,您必须具有firebaseperformance.config.update权限。默认情况下,以下角色包括此必需权限: Firebase Performance AdminFirebase Quality AdminFirebase Admin和项目Owner 或 Editor

  1. 转到 Firebase 控制台中的性能监控仪表板选项卡,然后选择要为其配置成功率计算的应用。
  2. 向下滚动到屏幕底部的跟踪表,然后选择网络请求选项卡。
  3. 找到您要为其配置成功率计算的 URL 模式。
  4. 在该行的最右侧,打开溢出菜单 ( ) 并选择配置成功率
  5. 按照屏幕上的说明选择要计为成功响应代码的响应代码。