Module: Instana::Instrumentation::RestClientRequest

Defined in:
lib/instana/instrumentation/rest-client.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



4
5
6
7
8
9
10
11
# File 'lib/instana/instrumentation/rest-client.rb', line 4

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

Instance Method Details

#execute_with_instana(&block) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/instana/instrumentation/rest-client.rb', line 13

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