module TraceView::Inst::CurlMultiIM
This module contains the instance method wrappers for the CurlMulti class. This module should be included into CurlMulti.
Public Class Methods
included(klass)
click to toggle source
# File lib/traceview/inst/curb.rb, line 243 def self.included(klass) ::TraceView::Util.method_alias(klass, :perform, ::Curl::Multi) end
Public Instance Methods
perform_with_traceview(&block)
click to toggle source
::Curl::Multi.new.perform wrapper
# File lib/traceview/inst/curb.rb, line 252 def perform_with_traceview(&block) # If we're not tracing or we're not already tracing curb, just do a fast return. if !TraceView.tracing? || [:curb, :curb_multi].include?(TraceView.layer) return perform_without_traceview(&block) end begin kvs = {} kvs[:Backtrace] = TraceView::API.backtrace if TraceView::Config[:curb][:collect_backtraces] TraceView::API.log_entry(:curb_multi, kvs) # The core curb call perform_without_traceview(&block) rescue => e TraceView::API.log_exception(:curb_multi, e) raise e ensure TraceView::API.log_exit(:curb_multi) end end