class TingYun::Instrumentation::Rails::ControllerEvent
Attributes
parent[RW]
queue_start[R]
request[R]
Public Class Methods
new(name, start, ending, transaction_id, payload, request)
click to toggle source
Calls superclass method
TingYun::Instrumentation::Support::Event::new
# File lib/ting_yun/instrumentation/support/action_controller_subscriber.rb, line 63 def initialize(name, start, ending, transaction_id, payload, request) # We have a different initialize parameter[[j]] list, so be explicit super(name, start, ending, transaction_id, payload, nil) @request = request @controller_class = payload[:controller].split('::') \ .inject(Object) { |m, o| m.const_get(o) } if request && request.respond_to?(:env) @queue_start = TingYun::Instrumentation::Support::QueueTime.parse_frontend_timestamp(request.env, self.time) end end
Public Instance Methods
method()
click to toggle source
# File lib/ting_yun/instrumentation/support/action_controller_subscriber.rb, line 88 def method payload[:params]['_method'].upcase rescue nil || payload[:method] end
metric_action()
click to toggle source
# File lib/ting_yun/instrumentation/support/action_controller_subscriber.rb, line 104 def metric_action payload[:action] end
metric_class()
click to toggle source
# File lib/ting_yun/instrumentation/support/action_controller_subscriber.rb, line 100 def metric_class payload[:controller] end
metric_name()
click to toggle source
# File lib/ting_yun/instrumentation/support/action_controller_subscriber.rb, line 76 def metric_name if TingYun::Agent.config[:'naming.rules_enabled'] && find_rule(method, uri, request.header, params) @metric_name = "#{namespace}/#{name(uri, request.header, params, request.cookie)}" else if TingYun::Agent.config[:'auto_action_naming'] @metric_name ||= "Rails/#{metric_path}/#{metric_action}" else "URI/#{uri}" end end end
metric_path()
click to toggle source
# File lib/ting_yun/instrumentation/support/action_controller_subscriber.rb, line 96 def metric_path @controller_class.controller_path end
params()
click to toggle source
# File lib/ting_yun/instrumentation/support/action_controller_subscriber.rb, line 92 def params payload[:params] end
path()
click to toggle source
contain the params
# File lib/ting_yun/instrumentation/support/action_controller_subscriber.rb, line 114 def path payload[:path] end
to_s()
click to toggle source
# File lib/ting_yun/instrumentation/support/action_controller_subscriber.rb, line 118 def to_s "#<TingYun::Instrumentation::ControllerEvent:#{object_id} name: \"#{name}\" id: #{transaction_id} payload: #{payload}}>" end
uri()
click to toggle source
expect the params
# File lib/ting_yun/instrumentation/support/action_controller_subscriber.rb, line 109 def uri path.split('?').first end