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

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

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

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

请注意以下事项:

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

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

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

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

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

  1. 将性能监控模块添加到标头中:

    Swift

    import FirebasePerformance
    

    Objective-C

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

    Swift

    let trace = Performance.startTrace(name: "customTraceName")
    
    // code that you want to trace
    
    trace.stop()
    

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

    Objective-C

    FIRTrace *trace = [FIRPerformance startTraceWithName:@"customTraceName"];
    
    // code that you want to trace
    
    [trace stop];
    

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

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

    Swift

    let trace = Performance.startTrace(name: "customTraceName")
    
    trace.incrementMetric(named:"eventName", by: 1)
    // code that you want to trace (and log custom metrics)
    
    trace.stop()
    

    Objective-C

    FIRTrace *trace = [FIRPerformance startTraceWithName:@"customTraceName"];
    
    [trace incrementMetric:@"eventName" by:1];
    // code that you want to trace (and log custom metrics)
    
    [trace stop];
    

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

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

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

    • 查看涵盖所有跟踪记录的已收集数据的简明报告。

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

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

  3. 点击特定跟踪记录,控制台即会在指标卡片上显示已收集的数据的简要信息,包括默认“时长”指标以及您为自定义跟踪记录配置的任何其他自定义指标。

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

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

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

    以下部分介绍了深入跟踪记录报告中可供使用的功能。

查看跟踪记录示例的更多详情

您可以深入了解 Firebase 控制台中特定跟踪记录或网络请求的细分情况。记录的会话的随机抽样显示以下信息:

Firebase 性能监控会话页面的图片

  • CPU:您的应用消耗了多少用户时间和系统时间。

  • 内存:您的应用使用了多少堆内存。堆内存是用于动态分配的内存,包括创建的对象、解除的对象以及应用正在使用的对象。

  • 个体信息:有关跟踪记录或网络请求的单个实例的详细信息,包括开始时间、结束时间、持续时间、请求大小和响应大小。

  • 并发实例:有关同时发生的跟踪记录或网络请求的信息。

  • 设备属性:有关设备的信息,包括应用版本、型号、操作系统版本、无线装置和自定义属性。

要在 Firebase 控制台中查看这些详情示例,您可以执行以下任一操作:

  • 打开应用的一个跟踪记录或网络请求,然后点击查看会话

  • 点击特定属性的属性会话链接。

Firebase 性能监控跟踪记录的图像,其中包含指向会话的链接

按百分位数过滤会话

性能监控收集的会话分布到每个指标的百分位数中。相比更高百分位数范围内的会话,较低百分位数范围内的会话对应的指标值更低。

要按百分位数过滤可用会话,请使用会话详细信息上方的百分位数下拉菜单。

Firebase 性能监控会话页面的图片

后续步骤