Module: TraceView::Inst::ResqueClient
- Defined in:
- lib/traceview/inst/resque.rb
Class Method Summary collapse
Instance Method Summary collapse
- #dequeue_with_traceview(klass, *args) ⇒ Object
- #enqueue_to_with_traceview(queue, klass, *args) ⇒ Object
- #enqueue_with_traceview(klass, *args) ⇒ Object
- #extract_trace_details(op, klass, args) ⇒ Object
Class Method Details
.included(klass) ⇒ Object
10 11 12 13 14 15 |
# File 'lib/traceview/inst/resque.rb', line 10 def self.included(klass) klass.send :extend, ::Resque ::TraceView::Util.method_alias(klass, :enqueue, ::Resque) ::TraceView::Util.method_alias(klass, :enqueue_to, ::Resque) ::TraceView::Util.method_alias(klass, :dequeue, ::Resque) end |
Instance Method Details
#dequeue_with_traceview(klass, *args) ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/traceview/inst/resque.rb', line 69 def dequeue_with_traceview(klass, *args) if TraceView.tracing? report_kvs = extract_trace_details(:dequeue, klass, args) TraceView::API.trace(:'resque-client', report_kvs) do dequeue_without_traceview(klass, *args) end else dequeue_without_traceview(klass, *args) end end |
#enqueue_to_with_traceview(queue, klass, *args) ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/traceview/inst/resque.rb', line 56 def enqueue_to_with_traceview(queue, klass, *args) if TraceView.tracing? && !TraceView.tracing_layer_op?(:enqueue) report_kvs = extract_trace_details(:enqueue_to, klass, args) report_kvs[:Queue] = queue.to_s if queue TraceView::API.trace(:'resque-client', report_kvs) do enqueue_to_without_traceview(queue, klass, *args) end else enqueue_to_without_traceview(queue, klass, *args) end end |
#enqueue_with_traceview(klass, *args) ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/traceview/inst/resque.rb', line 44 def enqueue_with_traceview(klass, *args) if TraceView.tracing? report_kvs = extract_trace_details(:enqueue, klass, args) TraceView::API.trace(:'resque-client', report_kvs, :enqueue) do enqueue_without_traceview(klass, *args) end else enqueue_without_traceview(klass, *args) end end |
#extract_trace_details(op, klass, args) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/traceview/inst/resque.rb', line 17 def extract_trace_details(op, klass, args) report_kvs = {} begin report_kvs[:Spec] = :pushq report_kvs[:Flavor] = :resque report_kvs[:JobName] = klass.to_s if TraceView::Config[:resqueclient][:log_args] kv_args = args.to_json # Limit the argument json string to 1024 bytes if kv_args.length > 1024 report_kvs[:Args] = kv_args[0..1023] + '...[snipped]' else report_kvs[:Args] = kv_args end end report_kvs[:Backtrace] = TraceView::API.backtrace if TraceView::Config[:resqueclient][:collect_backtraces] report_kvs[:Queue] = klass.instance_variable_get(:@queue) rescue => e TraceView.logger.debug "[traceview/debug] #{__method__}:#{File.basename(__FILE__)}:#{__LINE__}: #{e.}" if TraceView::Config[:verbose] end report_kvs end |