性能跟踪
性能跟踪模块是一个工具,可以衡量您的 iOS 移动应用程序的性能。它是通过向应用程序生命周期、网络请求和一些标准 UIKit 类方法中添加测量调用实现的。
它如何工作
- 在进程启动时自动初始化
- 加载从前次运行获取的配置 API 中的配置。
- 确定是否应启用跟踪(使用配置中找到的比率),如果是的话,则启用跟踪,
- Instruments iOS 类。
- 初始化环形缓冲区、内部跟踪器、与后端连接,并在后台队列上启动发送循环。
- 尽可能早地开始启动 LAUNCH 度量。
- 通过向配置 API 发送请求并保存结果来更新下次启动的配置。
- "发送者"后台队列定期轮询环形缓冲区,并将度量值发送到"事件写入器",该写入器构建 JSON 并将请求发送到后端。
入门
此模块支持 iOS 10.0 及以上版本。它已在 iOS 10.0 及以上版本上进行测试。
作为 CocoaPods pod 安装
要使用此模块,您的 Podfile
应包含
source 'https://github.com/CocoaPods/Specs.git'
pod 'RPerformanceTracking'
运行 pod install
以安装模块及其依赖项。
配置
目前我们没有托管任何公开可访问的性能跟踪后端 API。
为了使用此模块,您必须在应用程序的 info.plist 中指定以下值
键 | 值 |
---|---|
RPTSubscriptionKey |
只有内部 Rakuten 开发者可以设置密钥。如果不是 Rakuten 开发者,则设置一个非空字符串 |
RPTConfigAPIEndpoint |
获取模块配置的端点 - 查看 _RPTConfiguration 类以获取响应格式 |
RPTLocationAPIEndpoint |
获取当前位置的端点 - 查看 _RPTLocation 类以获取响应格式 |
RPTRelayAppID |
中继门户应用程序 ID。只有内部 Rakuten 开发者可以设置应用程序 ID。如果不是 Rakuten 开发者,则设置一个非空字符串 |
现在您的应用程序已准备好自动跟踪 Launch
指标、网络请求、视图生命周期方法等。
在集成性能跟踪后第一次运行您的应用程序时,模块将仅获取并存储其配置数据;它 不会 发送指标数据。在随后的运行中,如果之前接收到的配置有效且激活检查成功,模块将跟踪并发送指标和测量值。
验证数据显示和发送
当您在调试模式下运行应用程序时,Xcode 应显示以 [Performance Tracking]
为前缀的性能跟踪调试日志。这些日志显示模块发送到后端进行处理的测量值。
可能有一个包含 'Tracking disabled
' 的日志,该日志将显示跟踪未运行的原因,无论是由于配置 API 响应数据无效(在这种情况下请再次检查您添加到 info.plist 中的配置键)还是由于该会话的激活检查结果为禁用跟踪。
为了帮助验证跟踪在您的应用程序中是否正常工作,您可以在应用程序的 info.plist
中添加一个布尔标志 RPTForceTrackingEnabled
并将其设置为 YES/true。这将绕过激活检查。添加标志后,请在调试模式下运行应用程序,跟踪应启用(只要配置 API 响应是有效的)。
参与贡献
请参阅贡献指南以了解如何参与该模块的开发。
版本变更记录
请参阅变更记录以了解模块版本的最新功能、更改和错误修复。