Sha256: 2a2018fc79acf2add1a0b7c7478b996d50257c06765aa69ec5114e058b21b72e

Contents?: true

Size: 1.09 KB

Versions: 6

Compression:

Stored size: 1.09 KB

Contents

# Copyright (c) 2015 AppNeta, Inc.
# All rights reserved.

module TraceView
  module Inst
    module RestClientRequest
      def self.included(klass)
        ::TraceView::Util.method_alias(klass, :execute, ::RestClient::Request)
      end

      ##
      # execute_with_traceview
      #
      # The wrapper method for RestClient::Request.execute
      #
      def execute_with_traceview & block
        kvs = {}
        kvs[:Backtrace] = TraceView::API.backtrace if TraceView::Config[:rest_client][:collect_backtraces]
        TraceView::API.log_entry(:'rest-client', kvs)

        # The core rest-client call
        execute_without_traceview(&block)
      rescue => e
        TraceView::API.log_exception(:'rest-client', e)
        raise e
      ensure
        TraceView::API.log_exit(:'rest-client')
      end
    end
  end
end

if TraceView::Config[:rest_client][:enabled]
  if defined?(::RestClient)
    TraceView.logger.info '[traceview/loading] Instrumenting rest-client' if TraceView::Config[:verbose]
    ::TraceView::Util.send_include(::RestClient::Request, ::TraceView::Inst::RestClientRequest)
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
traceview-3.8.3-java lib/traceview/inst/rest-client.rb
traceview-3.8.3 lib/traceview/inst/rest-client.rb
traceview-3.8.2-java lib/traceview/inst/rest-client.rb
traceview-3.8.2 lib/traceview/inst/rest-client.rb
traceview-3.8.1-java lib/traceview/inst/rest-client.rb
traceview-3.8.1 lib/traceview/inst/rest-client.rb