iOS 在尝试报告数据时检测到 NewRelic 错误
Posted
技术标签:
【中文标题】iOS 在尝试报告数据时检测到 NewRelic 错误【英文标题】:iOS detect NewRelic errors when it tries to report data 【发布时间】:2015-07-27 21:29:09 【问题描述】:我想在我的应用程序中知道 NewRelic 何时尝试发送数据并且由于任何原因失败,例如,当没有互联网连接时它会收到错误
NRMAHarvesterConnection.m:101 -[NRMAHarvesterConnection send:]
Failed to retrieve collector response: Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo=0x7fa044e1a360 NSUnderlyingError=0x7fa044e26a10 "The Internet connection appears to be offline.", NSErrorFailingURLStringKey=https://mobile-collector.newrelic.com/mobile/v2/data, NSErrorFailingURLKey=https://mobile-collector.newrelic.com/mobile/v2/data, _kCFStreamErrorDomainKey=12, _kCFStreamErrorCodeKey=8, NSLocalizedDescription=The Internet connection appears to be offline.
NewRelic 会将此错误打印到控制台,因此它一定是检测到此类错误。
我想知道这种错误何时发生以及错误是什么,以便我可以记录它
【问题讨论】:
【参考方案1】:不幸的是,在错误代码低于 400 的情况下,NewRelic 不会发送自动错误报告。所以这种情况需要你自己处理,例如:
[NewRelic noticeNetworkFailureForURL:(NSURL *)url
httpMethod:(NSString*)httpMethod
withTimer:(NRTimer *)timer
andFailureCode:(NSInteger)iosFailureCode];
但在我看来,您应该跟踪此类依赖于客户端的事件,例如缺乏互联网连接。 NewRelic 让您可以检查您的端点是否正常可访问,或返回 HTTP 错误代码。在跟踪 CDN 节点的状态时非常有用。换句话说:跟踪返回 HTTP 错误代码的所有内容,但不要跟踪 Cocoa 错误代码。
【讨论】:
以上是关于iOS 在尝试报告数据时检测到 NewRelic 错误的主要内容,如果未能解决你的问题,请参考以下文章