SignalFx:在Ruby代码中报告一个获救的异常,类似于NewRelic::Agent.notice_error?

SignalFx: Report a rescued exception in Ruby code, similar to NewRelic::Agent.notice_error?

在 Rails 应用程序的 Ruby 中,我在已知场景中挽救了一个异常。在救援过程中,我的代码做了一些清理,然后继续前进而没有重新引发异常。

我想将异常的详细信息记录到 SignalFx。我相信如果没有挽救异常,这种情况会自动发生。但是在这种情况下,我需要拯救它。

我们目前正在从 New Relic 迁移到 SignalFx。在 New Relic 中,我可以强制像这样记录获救的异常:

rescue MySpecialError => ex
  NewRelic::Agent.notice_error ex
  record.clean_up_after_my_special_error()

这将记录堆栈跟踪、请求参数、环境变量等,就好像异常没有被挽救一样。

SignalFx 是否有类似的方法来捕获丰富的异常信息而不引发异常?

According to the docs,

client = SignalFx.new 'MY_SIGNALFX_TOKEN'
client.send_event('EXCEPTION', ... )

您可能需要考虑使用更有针对性的 error-reporting 服务。