有没有办法手动推送NewRelic错误?

时间:2012-09-26 17:38:03

标签: ruby-on-rails newrelic

在我们的Rails应用程序中,我们拯救ApplicationController上的大多数异常以提供正确的API响应,但仍希望使用ErrorCollector跟踪发生的错误。有没有办法手动向NewRelic发送错误?

3 个答案:

答案 0 :(得分:37)

根据我在New Relic代理中看到的内容,你可以做到

NewRelic::Agent.notice_error(exception, options)

我已经测试了这个,并在我的堆栈中运行

以下是控制器中的示例:

class ApplicationController < ActionController::Base
  rescue_from ActiveRecord::RecordInvalid, with: :rescue_invalid_record

  private

  def rescue_invalid_record(exception)
    NewRelic::Agent.notice_error(exception)
  end
end

答案 1 :(得分:6)

不确定是否推荐使用方式,但这完美无缺:

NewRelic::Agent.agent.error_collector.notice_error( exception )

答案 2 :(得分:1)

API调用通知错误并增加错误指标的完整文档是这里的新Relic Ruby Agent API文档http://rdoc.info/github/newrelic/rpm/NewRelic/Agent/Transaction.notice_error