class MetroRelic::Tracer
Attributes
method[R]
Public Class Methods
new(method)
click to toggle source
# File lib/metro_relic.rb, line 24 def initialize(method) @method = method end
Public Instance Methods
trace!()
click to toggle source
# File lib/metro_relic.rb, line 28 def trace! if instance_method? klass.send(:include, NewRelic::Agent::MethodTracer) klass.add_method_tracer(name, metric) elsif class_method? klass.singleton_class.send(:include, NewRelic::Agent::MethodTracer) klass.singleton_class.add_method_tracer(name, metric) end end
Private Instance Methods
class_method?()
click to toggle source
# File lib/metro_relic.rb, line 60 def class_method? raw_name[0] == "." end
instance_method?()
click to toggle source
# File lib/metro_relic.rb, line 56 def instance_method? raw_name[0] == "#" end
klass()
click to toggle source
# File lib/metro_relic.rb, line 44 def klass @klass ||= Object.const_get(method.split(/(?=\#|\.)/)[0]) end
metric()
click to toggle source
# File lib/metro_relic.rb, line 40 def metric "Custom/MetroRelic/#{method}" end
name()
click to toggle source
# File lib/metro_relic.rb, line 52 def name @name ||= raw_name[1..-1].to_sym end
raw_name()
click to toggle source
# File lib/metro_relic.rb, line 48 def raw_name @raw_name ||= method.split(/(?=\#|\.)/)[1] end