Module: Railstash::Instrumentation

Defined in:
lib/railstash/instrumentation.rb

Defined Under Namespace

Modules: ControllerRuntime

Class Method Summary collapse

Class Method Details

.extract_context_data(context) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/railstash/instrumentation.rb', line 3

def self.extract_context_data(context)
  request = context.request
  params = request.parameters
  data = {}
  data[:method] = request.request_method
  data[:path] = request.path
  data[:fullpath] = request.fullpath
  data[:controller] = params["controller"]
  data[:action] = params["action"]
  data[:route] = "#{params["controller"]}##{params["action"]}"
  data[:format] = request.format.ref
  data[:ip] = request.remote_ip
  data[:user_agent] = request.user_agent
  data[:referer] = request.referer
  data[:parameters] = request.filtered_parameters.except("utf8","authenticity_token",
                                                         *ActionController::LogSubscriber::INTERNAL_PARAMS)
  if request.respond_to? :request_id
    data[:request_id] = request.request_id
  else
    data[:request_id] = request.uuid
  end
  data
end