为特定应用代码添加自定义监控

您可以创建自定义跟踪记录来监控与应用中的特定代码相关联的性能数据。借助自定义跟踪记录,您可以衡量应用完成特定任务或任务集(例如加载一组图片或查询数据库)所需的时间。自定义跟踪记录的默认指标是其时长,但您也可以添加自定义指标。

在代码中,您可以使用 Performance Monitoring SDK 提供的 API 指定自定义跟踪记录的开始和结束。

跟踪记录也可以在创建后启动,对于线程是安全的。

请注意以下事项:

  • 一个应用可以有多个自定义跟踪记录。
  • 多个自定义跟踪可以同时运行。
  • 自定义跟踪记录和自定义指标的名称必须符合以下要求:没有前导空格或尾随空格,没有前导下划线 (_) 字符,长度上限为 32 个字符。

默认属性、自定义属性和自定义指标

对于自定义跟踪记录,性能监控会自动记录为任何跟踪记录收集的默认属性(应用版本、国家/地区、设备、浏览器等适用的元数据),使您可以在 Firebase 控制台中过滤数据。对于自定义跟踪记录,您还可以添加和监控自定义属性(例如游戏关卡或用户属性)。

您可以进一步配置自定义跟踪记录,以记录跟踪记录范围内发生的与性能相关事件的自定义指标。例如,您可以创建一个自定义指标,以统计缓存命中和未命中的次数,或者统计界面较长时间无响应的次数。这些自定义指标的数据会与跟踪记录的默认指标一起显示在 Firebase 控制台中。

添加自定义跟踪记录和自定义指标

  1. 要启动和停止自定义跟踪记录,请使用如下几行代码封装要跟踪的代码:

    const trace = perf.trace('customTraceName');
    trace.start();
    
    // code that you want to trace
    
    trace.stop();
    

    详细了解用于自定义跟踪记录的 API

  2. 要添加自定义指标,请在每次发生事件时添加一行如下所示代码。例如,此自定义指标会统计应用中发生的与性能相关的事件。

    async function getInventory(inventoryIds) {
      const trace = perf.trace('inventoryRetrieval');
    
      // Tracks the number of IDs fetched (the metric could help you to optimize in the future)
      trace.incrementMetric('numberOfIds', inventoryIds.length);
    
      // Measures the time it takes to request inventory based on the amount of inventory
      trace.start();
      const inventoryData = await retrieveInventory(inventoryIds);
      trace.stop();
    
      return inventoryData;
    }
    

在控制台中监控自定义跟踪记录和指标

  1. 在 Firebase 控制台中,转到性能信息中心

  2. 点击“基于设备”标签页,然后您可以执行以下操作:

    • 查看已收集的所有页面加载跟踪记录(以及已添加的任何自定义跟踪记录)的数据的简明报告。

    • 点击特定跟踪记录以查看更详细的跟踪记录数据。

    • 使用信息中心左上角的过滤add按钮,按属性对数据执行基本过滤。

  3. 点击特定跟踪记录,控制台即会在指标卡片上显示所收集数据的简要信息。

    • 使用信息中心右上角的选项可以查看按“汇总”或“随时间变化情况”显示的数据。

    • 使用信息中心左上角的过滤add按钮,按属性对数据执行基本过滤。

  4. 对于任何指标,点击查看更多即可查看有关已收集数据的详细信息并使用更丰富的分析功能。例如,您可以按属性过滤和细分数据。

后续步骤