0

I have a rails app, sidekiq and sentry.

I want to find event in sentry by job arguments. Sample: I have SomeJob which executed with arguments [{some_arg: 'Arg1'}]

Job failed with error and send event to sentry.

How I can find event by job arguments?

I try full-text search, but it doesn't work

1 Answers1

0

Search in sentry is limited by what they allow you to search by.

From reading their Search docs briefly you can either use:

  • sentry tags
  • messages

Either way, you would want to enrich your sentry events.

For example, let's assume you will rescue from the error raised in your job

class SomeJob

  include Sidekiq::Worker
  
  def perform(args)

     # do stuff with args

  rescue StandardError
    SentryError.new(args: args)
  end
end

SentryJobError is really just a PORO that would be called by your job classes.

class SentryJobError

  def initialize(args:)
    return if Rails.env.development?
    
    Sentry.configure_scope do |scope|
      scope.set_context('job_args', { args: args })
      scope.set_context('message', 'job ${args[:some_arg]} failed')
    end
  end

end
ali
  • 846
  • 2
  • 18
  • 34