Sha256: 8b76a9473084745de9476df3cf17522738e4e785da9c0652b7b12dca6bbaf946

Contents?: true

Size: 1005 Bytes

Versions: 38

Compression:

Stored size: 1005 Bytes

Contents

module Instana
  module Instrumentation
    module RestClientRequest
      def self.included(klass)
        if klass.method_defined?(:execute)
          klass.class_eval do
            alias execute_without_instana execute
            alias execute execute_with_instana
          end
        end
      end

      def execute_with_instana & block
        # Since RestClient uses net/http under the covers, we just
        # provide span visibility here.  HTTP related KVs are reported
        # in the Net::HTTP instrumentation
        ::Instana.tracer.log_entry(:'rest-client')

        execute_without_instana(&block)
      rescue => e
        ::Instana.tracer.log_error(e)
        raise
      ensure
        ::Instana.tracer.log_exit(:'rest-client')
      end

    end
  end
end

if defined?(::RestClient::Request) && ::Instana.config[:'rest-client'][:enabled]
  ::Instana.logger.debug "Instrumenting RestClient"
  ::RestClient::Request.send(:include, ::Instana::Instrumentation::RestClientRequest)
end

Version data entries

38 entries across 38 versions & 1 rubygems

Version Path
instana-1.192.1 lib/instana/instrumentation/rest-client.rb
instana-1.192.0 lib/instana/instrumentation/rest-client.rb
instana-1.13.0 lib/instana/instrumentation/rest-client.rb
instana-1.12.0 lib/instana/instrumentation/rest-client.rb
instana-1.11.8-java lib/instana/instrumentation/rest-client.rb
instana-1.11.8 lib/instana/instrumentation/rest-client.rb
instana-1.11.7 lib/instana/instrumentation/rest-client.rb
instana-1.11.6 lib/instana/instrumentation/rest-client.rb
instana-1.11.6-java lib/instana/instrumentation/rest-client.rb
instana-1.11.5 lib/instana/instrumentation/rest-client.rb
instana-1.11.5-java lib/instana/instrumentation/rest-client.rb
instana-1.11.4-java lib/instana/instrumentation/rest-client.rb
instana-1.11.4 lib/instana/instrumentation/rest-client.rb
instana-1.11.3-java lib/instana/instrumentation/rest-client.rb
instana-1.11.3 lib/instana/instrumentation/rest-client.rb
instana-1.11.2-java lib/instana/instrumentation/rest-client.rb
instana-1.11.2 lib/instana/instrumentation/rest-client.rb
instana-1.11.1-java lib/instana/instrumentation/rest-client.rb
instana-1.11.1 lib/instana/instrumentation/rest-client.rb
instana-1.11.0-java lib/instana/instrumentation/rest-client.rb