Tracer
此存储库包含示例项目和自定义 Xcode Instruments 包,用于对 iOS/macOS 应用中的任何活动进行类似 opentracing 的检查。
要求
os_signpost
API 从 iOS 12 和 macOS 10.14 开始可用。要安装自定义包,您需要 Xcode 10。
安装
要将此包添加到您的 Instruments,您必须从“发行版”中下载它,解压,双击并安装。然后它将出现在仪器列表中。不幸的是,没有自动安装和更新的方法。
要使用此包,您需要发出适当的 os_signpost 调用,这可以通过样本项目中的 TracingModule 目录中的包装器更方便地完成。包装器可以通过 CocoaPods 安装
pod 'Tracer', '~> 1.0.0'
或者只是将 TracingModule 目录移动到您的项目中,并导入 Tracer.h
。
使用
手册
您可以以两种方式与追踪器互动。首先是通过以下API手动操作。
- (ASScope *)addScope:(NSString *)scopeName;
- (void)removeScope:(NSString *)scopeName;
- (void)startSpan:(NSString *)spanName inScope:(NSString *)scopeName;
- (void)stopSpan:(NSString *)spanName inScope:(NSString *)scopeName success:(BOOL)success;
作用域和跨度是描述您想要跟踪的活动的基本概念。例如,如果您想跟踪视图控制器的活动,则作用域可以是视图控制器,而跨度则是所有在该作用域内执行的活动。跨度名称和作用域名称应该是唯一的。通过传递 成功
标志来停止跨度,这表示跨度的完成状态,失败的跨度将在图中以红色显示。
追踪NSOperations
您还可以使用追踪器通过调用 startTracingOperations
来自动跟踪 NSOperation
。这将安装钩子和KVO观察者来跟踪操作的生命周期。
示例应用
如果您想与包互动,可以在包的 Xcode 项目中使用 Tracer 应用。它允许在 NSOperationQueue
中创建操作,并自动跟踪这些操作。安装包后,启动 Tracer 应用,运行 Instruments,选择空白模板,添加 Tracer 包,并开始录制。
关于我们
寻找更好的调试工具?试试 AppSpector。使用 AppSpector,您可以远程调试在同一房间或另一个大陆上运行的应用。您可以实时测量应用性能,查看 CoreData 和 SQLite 内容,日志,网络请求以及更多信息。这是您一直在寻找的工具。