Sha256: b89d2d6af3ebd090cae6dccc1b1bead70f61d44f5fad53dcbeb4d141a69c258a

Contents?: true

Size: 631 Bytes

Versions: 26

Compression:

Stored size: 631 Bytes

Contents

module ScoutApm
  module Rack
    def self.install!
      ScoutApm::Agent.instance.start(:skip_app_server_check => true)
      ScoutApm::Agent.instance.start_background_worker
    end

    def self.transaction(endpoint_name, env)
      req = ScoutApm::RequestManager.lookup
      req.annotate_request(:uri => env["REQUEST_PATH"]) rescue nil
      req.context.add_user(:ip => env["REMOTE_ADDR"]) rescue nil

      req.web!
      req.start_layer(ScoutApm::Layer.new('Controller', endpoint_name))

      begin
        yield
      rescue
        req.error!
        raise
      ensure
        req.stop_layer
      end
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
scout_apm-2.3.5 lib/scout_apm/rack.rb
scout_apm-3.0.0.pre16 lib/scout_apm/rack.rb
scout_apm-3.0.0.pre15 lib/scout_apm/rack.rb
scout_apm-2.3.4 lib/scout_apm/rack.rb
scout_apm-2.3.3 lib/scout_apm/rack.rb
scout_apm-2.4.0.pre3 lib/scout_apm/rack.rb
scout_apm-3.0.0.pre14 lib/scout_apm/rack.rb
scout_apm-2.4.0.pre2 lib/scout_apm/rack.rb
scout_apm-2.3.2 lib/scout_apm/rack.rb
scout_apm-2.4.0.pre lib/scout_apm/rack.rb
scout_apm-3.0.0.pre13 lib/scout_apm/rack.rb
scout_apm-2.3.1 lib/scout_apm/rack.rb
scout_apm-3.0.0.pre12 lib/scout_apm/rack.rb
scout_apm-2.3.0 lib/scout_apm/rack.rb
scout_apm-2.3.0.pre3 lib/scout_apm/rack.rb
scout_apm-2.3.0.pre2 lib/scout_apm/rack.rb
scout_apm-2.3.0.pre1 lib/scout_apm/rack.rb
scout_apm-3.0.0.pre11 lib/scout_apm/rack.rb
scout_apm-2.3.0.pre lib/scout_apm/rack.rb
scout_apm-2.1.32 lib/scout_apm/rack.rb