module Oboe::Inst::EventMachine::HttpConnection

Public Instance Methods

setup_request_with_oboe(*args, &block) click to toggle source
# File lib/oboe/inst/em-http-request.rb, line 5
def setup_request_with_oboe(*args, &block)
  report_kvs = {}
  context = Oboe::Context.toString
  blacklisted = Oboe::API.blacklisted?(@uri)

  begin
    report_kvs['IsService'] = 1
    report_kvs['RemoteURL'] = @uri
    report_kvs['HTTPMethod'] = args[0]
    report_kvs['Blacklisted'] = true if blacklisted

    if Oboe::Config[:em_http_request][:collect_backtraces]
      report_kvs[:Backtrace] = Oboe::API.backtrace
    end
  rescue => e
    Oboe.logger.debug "[oboe/debug] em-http-request KV error: #{e.inspect}"
  end

  ::Oboe::API.log_entry('em-http-request', report_kvs)
  client = setup_request_without_oboe(*args, &block)
  client.req.headers['X-Trace'] = context unless blacklisted
  client
end