Class: Appsignal::Integrations::SidekiqPlugin
- Inherits:
-
Object
- Object
- Appsignal::Integrations::SidekiqPlugin
- Defined in:
- lib/appsignal/integrations/sidekiq.rb
Instance Method Summary collapse
- #call(worker, item, queue) ⇒ Object
- #format_args(args) ⇒ Object
- #formatted_metadata(item) ⇒ Object
- #job_keys ⇒ Object
- #string_or_inspect(string_or_other) ⇒ Object
- #truncate(text) ⇒ Object
Instance Method Details
#call(worker, item, queue) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/appsignal/integrations/sidekiq.rb', line 15 def call(worker, item, queue) Appsignal.monitor_transaction( 'perform_job.sidekiq', :class => item['class'], :method => 'perform', :metadata => (item), :params => format_args(item['args']), :queue_start => item['enqueued_at'] ) do yield end end |
#format_args(args) ⇒ Object
44 45 46 47 48 |
# File 'lib/appsignal/integrations/sidekiq.rb', line 44 def format_args(args) args.map do |arg| truncate(string_or_inspect(arg)) end end |
#formatted_metadata(item) ⇒ Object
28 29 30 31 32 33 34 |
# File 'lib/appsignal/integrations/sidekiq.rb', line 28 def (item) {}.tap do |hsh| item.each do |key, val| hsh[key] = truncate(string_or_inspect(val)) unless job_keys.include?(key) end end end |
#job_keys ⇒ Object
7 8 9 10 11 12 13 |
# File 'lib/appsignal/integrations/sidekiq.rb', line 7 def job_keys @job_keys ||= Set.new(%w( class args retried_at failed_at error_message error_class backtrace error_backtrace enqueued_at retry )) end |
#string_or_inspect(string_or_other) ⇒ Object
36 37 38 39 40 41 42 |
# File 'lib/appsignal/integrations/sidekiq.rb', line 36 def string_or_inspect(string_or_other) if string_or_other.is_a?(String) string_or_other else string_or_other.inspect end end |
#truncate(text) ⇒ Object
50 51 52 |
# File 'lib/appsignal/integrations/sidekiq.rb', line 50 def truncate(text) text.size > 100 ? "#{text[0...97]}..." : text end |