仪器仪表

编辑

本文档列出了 apm-agent-ios sdk 提供的各种仪器仪表。这些仪器仪表可以按照仪器仪表配置中所述进行配置。

崩溃报告

编辑

代理将自动捕获并上传崩溃到 apm 服务器。这些崩溃将以移动代理事件规范中所述的格式存储。

URLSession 仪器仪表

编辑

URLSession 仪器仪表由 Open Telemetry Swift sdk 提供,并将自动为使用 URLSessions 生成的所有网络请求生成跟踪。更多详细信息可以在URL Session 仪器仪表 Open Telemetry 文档中找到。

视图仪器仪表

编辑

代理提供 SwiftUI.View 和 UIViewController 仪器仪表,其中使用跨度测量视图的加载时间。所有同时加载的视图都将分组在同一个起始跨度下。跨度的名称将由以下规则决定,从最低到最高优先级

  1. <视图的类名> - 视图出现
  2. <导航标题> - 视图出现
  3. 传递给 View 扩展方法 reportName(_ name: String) -> Viewname

视图的类名将是一个 Swift 命名混淆字符串,并且是最不理想的命名方法。如果可能,请在您的视图上设置导航标题。

AllProductsList.swift

struct AllProductsList: View {
    @EnvironmentObject var modelData : ModelData

    var body: some View {
        VStack {
            List(modelData.products, id: \.id) { product in
                AdminProductRow(product: product)

            }
        }.onAppear  {
            modelData.loadProducts()
        }.navigationTitle("All Products")
    }
}

您将在 Kibana 中看到“所有产品 - 视图出现”。

如果无法设置导航标题,请使用 reportName(_ name: String) -> View 设置将在 Kibana 中显示的名称。

AllProductsList.swift

struct AllProductsList: View {
    @EnvironmentObject var modelData : ModelData

    var body: some View {
        VStack {
            List(modelData.products, id: \.id) { product in
                AdminProductRow(product: product)

            }
        }.onAppear  {
            modelData.loadProducts()
        }.reportName("All Products - view appearing")
    }
}

必须插入整个字符串 All Products - view appearing 以匹配其他两个命名选项使用的默认格式。

系统指标

编辑

系统指标仪器仪表以分钟为单位记录 CPU 和内存使用情况作为指标。CPU 指标记录为 system.cpu.usage,内存使用情况记录为 system.memory.usage

MetricKit 仪器仪表

编辑

适用于 iOS 13 及更高版本,代理提供关键 MetricKit 数据点的仪器仪表。

  • 应用程序启动时间
  • 应用程序响应能力
  • 应用程序退出次数

生成的指标的技术细节可以在移动规范中找到。

application.launch.time

编辑

此直方图指标提供了按 first drawfirst draw (optimized)resumed 分类的启动持续时间。有关 MetricKit 数据点的更多详细信息,请参阅Apple 文档

application.responsiveness.hangtime

编辑

应用程序太忙而无法响应地处理用户交互的不同持续时间的直方图。有关 MetricKit 数据点的更多详细信息,请参阅Apple 文档

application.exits

编辑

按各种属性分类的应用程序退出次数:foregroundbackground,以及 normal 或异常,其中异常退出进一步细分。更多详细信息可以在Apple 文档中找到。

应用程序生命周期事件

编辑

在 v0.5.0 中,应用程序生命周期事件会自动进行检测。技术细节可以在移动规范中找到。