OADTracer 是一个 Objective C 库,它简化了将 DTrace 事件发送出去的过程。OADTracer 提供了发送 NSURLRequest
和 NSURLResponse
作为 JSON 字符串到 DTRace 的方法。
DTrace 的一种良好使用是记录网络通信,而不是污染 Xcode 控制台。
使用 DTrace 记录网络通信有以下好处:
OADTracer 提供了三个发送 DTrace 事件的方法。
通过使用 [OADTracer traceRequest:]
,会将 NSURLRequest
打包并发送为 JSON 到 oadprobe:::request
探针。
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.google.com"]];
[[OADTracer instance] traceRequest:request];
通过使用 [OADTracer traceResponse:data:error]
,会组合并发送 NSURLResponse
、NSData
和 NSError
作为 JSON 到 oadprobe:::response
探针。
[[OADTracer instance] traceResponse:response data:data error:error];
response、data 和 error 会通过 [NSURLSession dataTaskWithRequest]
的回调传递
通过使用 [OADTracer traceString:]
,会将 NSString
发送到 oadprobe:::custom
探针。
[[OADTracer instance] traceString:@"Some string"];
要监听发送的 DTrace 命令,您可以使用 dtrace
命令,详情可参考此处,或者您可以使用 dtracer
gem。
dtracer
gem 是为方便与 OADTracer
库一起使用而编写的。 dtracer
提供了注册和打印发送的 DTrace 事件的等效命令。
dtracer
提供以下命令:
dtracer curl
将使用 [OADTracer traceRequest:]
发送的 NSURLRequest
作为 curl 命令输出
dtracer details
将使用 [OADTracer traceRequest:]
发送的 NSURLRequest
作为格式化字符串输出。它还接受多个标志来自定义打印的字符串。运行 dtracer help details
获取更多信息。
dtracer response
将使用 [OADTracer traceResponse:data:error:]
发送的事件作为格式化字符串输出。
dtracer custom
将使用 [OADTracer traceString:]
发送的字符串输出。
更多信息请查看dtracer 页面。
要运行示例项目,首先从仓库中克隆,然后从 Example 目录运行 pod install
。
Omar Abdelhafith, [email protected]
OADTracer遵循MIT许可证。更多信息请参阅LICENSE文件。