简介
编辑简介
编辑Elastic APM iOS Agent 实时测量您的移动应用程序的性能。
代理如何工作?
编辑Elastic APM iOS Agent 使用 OpenTelemetry-Swift SDK。该代理自动跟踪 URLSessions,并提供带有设备信息以及使用 Open-Telemetry 检测的后端服务的分布式跟踪。
该代理还会捕获使用 OpenTelemetry-Swift API 创建的任何自定义 open-telemetry 跟踪或测量。
如何添加检测
编辑此代理将配置 OpenTelementry-Swift TracerProvider
和 MetricProvider
,并将它们设置为全局 OpenTelemetry 提供程序。可以通过 OpenTelemetry SDK 访问它们,如下所示:
let tracerProvider = OpenTelemetry.instance.tracerProvider let meterProvider = OpenTelemetry.instance.meterProvider
这些对象可用于获取新的跟踪器和计量器,这些跟踪器和计量器将捕获的数据发送到 Elastic APM 服务器。有关如何使用 OpenTelemetry 检测您的应用程序的更多详细信息,请参阅 OpenTelemetry.io Swift 手动检测文档。
示例可以在 opentelemetry-swift/examples 中找到。
其他组件
编辑APM 代理与 APM Server、Elasticsearch 和 Kibana 协同工作。APM 指南提供了有关这些组件如何协同工作的详细信息,并提供了一个概述 代理和服务器兼容性 的矩阵。
Open Telemetry 组件
编辑iOS 代理利用多个 OpenTelemetry-Swift 库来提供对您的应用程序和服务的自动检测。有关这些检测库的详细信息,请参阅官方 opentelementry.io Swift 库文档。
对于网络检测,该代理使用 NSURLSessionInstrumentation
。这以 span 的形式提供网络检测,并为所有检测的下游服务启用分布式跟踪。
有关设备、操作系统和应用程序的详细信息由 SDKResourceExtension
提供。有关捕获哪些数据点的更多信息,请参阅 opentelementry.io SDKResourceExtension 文档。
Elastic 将 OpenTelemetry 属性映射到 Elastic 特定的字段。这些映射的详细信息可以在 Elastic Mobile Agent Spec 中找到。