Sha256: 41cbcf6f9673642a946c61738f3208cb28cb118f6499b3465c7332270e68d259
Contents?: true
Size: 1.31 KB
Versions: 2
Compression:
Stored size: 1.31 KB
Contents
module ScoutRailsProxy::Instruments module SinatraInstruments def route_eval_with_scout_instruments(&blockarg) path = unescape(@request.path_info) name = path # Go through each route and look for a match if routes = self.class.routes[@request.request_method] routes.detect do |pattern, keys, conditions, block| if blockarg.equal? block name = pattern.source end end end name.gsub!(%r{^[/^]*(.*?)[/\$\?]*$}, '\1') name = 'root' if name.empty? name = @request.request_method + ' ' + name if @request && @request.respond_to?(:request_method) scout_controller_action = "Controller/Sinatra/#{name}" self.class.trace(scout_controller_action, :uri => @request.path_info) do route_eval_without_scout_instruments(&blockarg) end end # route_eval_with_scout_instrumentss end # SinatraInstruments end # ScoutRailsProxy::Instruments if defined?(::Sinatra) && defined?(::Sinatra::Base) ScoutRailsProxy::Agent.instance.logger.debug "Instrumenting Sinatra" ::Sinatra::Base.class_eval do include ScoutRailsProxy::Tracer include ::ScoutRailsProxy::Instruments::SinatraInstruments alias route_eval_without_scout_instruments route_eval alias route_eval route_eval_with_scout_instruments end end
Version data entries
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
scout_rails_proxy-1.0.6 | lib/scout_rails_proxy/instruments/sinatra_instruments.rb |
scout_rails_proxy_proxy-1.0.5 | lib/scout_rails_proxy/instruments/sinatra_instruments.rb |