我们希望在移动环境中使用NewRelic的noticeNetworkFailure行为来偷偷地在catch语句中记录实际不是网络异常的异常;因为这似乎是目前跟踪NewRelic Mobile异常的唯一方法。
下面的示例代码似乎没有上传任何事件信息,我想这可能是因为NewRelic认识到异常不是网络异常,而忽略了调用。
long time = System.currentTimeMillis();
NewRelic.noticeNetworkFailure("HomeFragment.updateUi.IllegalStateException", time, time, new IllegalStateException());URL值只是我们使用classname.method(或子类,然后是方法)创建的一个字符串,它允许识别相关代码,理论上将把异常分组到NewRelic中的一个公共URL下。
以前有人这样做过,或者知道我能做些什么来实现这一点吗?
NB: NewRelic在所有其他方面都做得很好,它的痕迹和其他报道都很好。
更新#1:似乎仍未通过验证?我使用下面的代码触发了许多通知,但仍然会让收割机发送0个HTTP错误。
NewRelic.noticeNetworkFailure("http://exception.com/HomeFragment/updateUi/IllegalStateException", time, time+1, new IllegalStateException());发布于 2013-12-04 22:52:32
不幸的是,如果没有更多的偷偷摸摸,这是行不通的。网络错误不被认为是HTTP错误,并且将与HTTP事务一起分组。相反,可以这样使用NewRelic.noticeHttpTransaction:
NewRelic.noticeHttpTransaction("http://exception.com/HomeFragment/updateUi/IllegalStateException", 500, time, time+1, 0, 0);如果在字符串前面添加http://exception/...,将通过验证(尽管要记住字符串中的字符),该错误将显示在HTTP页面的newrelic.com上。在开始时添加exception将对这些错误进行分组,以便于阅读。但是,请注意,您将把这些错误与应用程序生成的“真实”错误混为一谈。
总是很高兴听到新文物对你很好,谢谢!
https://stackoverflow.com/questions/20371354
复制相似问题