Module: ScoutApm::Instruments::Typhoeus::TyphoeusInstrumentation

Defined in:
lib/scout_apm/instruments/typhoeus.rb

Instance Method Summary collapse

Instance Method Details

#run(*args, &block) ⇒ Object



51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/scout_apm/instruments/typhoeus.rb', line 51

def run(*args, &block)
  req = ScoutApm::RequestManager.lookup
  req.start_layer(ScoutApm::Layer.new("HTTP", scout_request_verb))
  req.current_layer.desc = scout_desc(scout_request_verb, scout_request_url)


  begin
    super(*args, &block)
  ensure
    req.stop_layer
  end
end

#scout_desc(verb, uri) ⇒ Object



64
65
66
67
68
69
# File 'lib/scout_apm/instruments/typhoeus.rb', line 64

def scout_desc(verb, uri)
  max_length = ScoutApm::Agent.instance.context.config.value('instrument_http_url_length')
  (String(uri).split('?').first)[0..(max_length - 1)]
rescue
  ""
end

#scout_request_urlObject



71
72
73
74
75
# File 'lib/scout_apm/instruments/typhoeus.rb', line 71

def scout_request_url
  self.url
rescue
  ""
end

#scout_request_verbObject



77
78
79
80
81
# File 'lib/scout_apm/instruments/typhoeus.rb', line 77

def scout_request_verb
  self.options[:method].to_s
rescue
  ""
end