class StackifyRubyAPM::Spies::SinatraSpy
@api private
Public Instance Methods
compile_template(engine, data, opts, *args, &block)
click to toggle source
Tilt engine template
# File lib/stackify_apm/spies/sinatra.rb, line 28 def compile_template(engine, data, opts, *args, &block) opts[:__stackify_apm_template_name] = case data when Symbol then data.to_s else format('Inline %s', engine) end compile_template_without_apm(engine, data, opts, *args, &block) end
dispatch!(*args, &block)
click to toggle source
Sets transaction name from Sinatra env's route name
# File lib/stackify_apm/spies/sinatra.rb, line 17 def dispatch!(*args, &block) dispatch_without_apm!(*args, &block).tap do next unless (transaction = StackifyRubyAPM.current_transaction) next unless (route = env['sinatra.route']) transaction.name = route end end
install()
click to toggle source
# File lib/stackify_apm/spies/sinatra.rb, line 10 def install ::Sinatra::Base.class_eval do alias_method 'dispatch_without_apm!', 'dispatch!' alias_method 'compile_template_without_apm', 'compile_template' # Sets transaction name from Sinatra env's route name # def dispatch!(*args, &block) dispatch_without_apm!(*args, &block).tap do next unless (transaction = StackifyRubyAPM.current_transaction) next unless (route = env['sinatra.route']) transaction.name = route end end # Tilt engine template # def compile_template(engine, data, opts, *args, &block) opts[:__stackify_apm_template_name] = case data when Symbol then data.to_s else format('Inline %s', engine) end compile_template_without_apm(engine, data, opts, *args, &block) end end end