我正在尝试使用NewRelic配置这个长时间运行的应用程序(控制台应用程序)。该应用程序的目的是读取XML提要(大量的数据)并相应地更新数据库。
我希望监视器的性能(现在效果很好),但是如果有任何问题(错误)也会收到电子邮件。
NotifyError
这工作正常,我可以看到NewRelic中记录的错误,但是Error%总是显示0,这意味着我从未收到任何错误警报(即使有很多,我的阈值为0.1%)。我认为这是因为我的吞吐量非常高(23k rpm)。
有没有办法调整newrelic如何看待吞吐量以使我的错误更有意义?
答案 0 :(得分:0)
有一种方法可以影响吞吐量测量。如果影响吞吐量的操作被New Relic视为事务,则可以使用API调用IgnoreTransaction()忽略除最重要事务之外的所有事务,包括那些可能抛出您使用NoticeError()标记的错误的事务。
答案 1 :(得分:0)
我已联系NewRelic支持并直接与他们交谈。 (他们回复非常快,非常有帮助。)
所以(根据我与New Relic Support的对话);
独立/后台/控制台应用程序的请求是什么?
由于您的应用程序没有进行Web调用,因此“请求”的两个最可能的候选者将是读取的XML部分的数量和/或数据库更新的数量被推出。我倾向于前者,因为数据库调用可能会被看到并放在数据库部分下。
有没有一种方法可以定义(通过NR API或简单的代理配置)什么应该作为独立/后台/控制台应用程序上的事务/请求计算?
对不起,但没有办法定义或改变请求是什么或不是什么,所有这些都是由代理自动完成的。我们所能做的就是改变请求飞行的名称。
这意味着(取决于您的应用程序的功能),您可能无法有效利用错误警报,因为错误与吞吐量的比率将非常小。 (独立/后台/控制台应用程序的错误率低于0%)。