Sha256: 36ff6db9bf5b6c62f9a982b29fb3aeb5d79d428a6283eda4908d7e059f7a1ef4

Contents?: true

Size: 1.52 KB

Versions: 24

Compression:

Stored size: 1.52 KB

Contents

# encoding: utf-8
# This file is distributed under New Relic's license terms.
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.

require 'new_relic/agent/instrumentation/rack'

class TestingApp

  attr_accessor :response, :headers

  def initialize
    @headers = {'Content-Type' => 'text/html'}
  end

  def call(env)
    request = Rack::Request.new(env)
    params = request.params
    if params['fail']
      raise "O_o"
    end

    if params['transaction_name']
      opts = {}
      if params['transaction_category']
        opts[:category] = params['transaction_category']
        NewRelic::Agent::TransactionState.tl_get.current_transaction.stubs(:similar_category?).returns true
      end
      NewRelic::Agent.set_transaction_name(params['transaction_name'], opts)
    end
    if params['cross_app_caller']
      NewRelic::Agent::TransactionState.tl_get.is_cross_app_caller = true
    end
    stub_transaction_guid(params['guid']) if params['guid']
    sleep(params['sleep'].to_f) if params['sleep']
    [200, headers, [response]]
  end

end

class TestingBackgroundJob
  FIRST_NAME = "OtherTransaction/Custom/TestingBackgroundJob/first"
  SECOND_NAME = "OtherTransaction/Custom/TestingBackgroundJob/second"

  def first(awhile=nil)
    job(FIRST_NAME, awhile)
  end

  def second(awhile=nil)
    job(SECOND_NAME, awhile)
  end

  def job(name, awhile)
    state = ::NewRelic::Agent::TransactionState.tl_get
    ::NewRelic::Agent::Transaction.wrap(state, name, :other) do
      sleep(awhile) if awhile
    end
  end
end

Version data entries

24 entries across 24 versions & 2 rubygems

Version Path
newrelic_rpm-4.1.0.333 test/multiverse/suites/agent_only/testing_app.rb
newrelic_rpm-4.0.0.332 test/multiverse/suites/agent_only/testing_app.rb
newrelic_rpm-3.18.1.330 test/multiverse/suites/agent_only/testing_app.rb
newrelic_rpm-3.18.0.329 test/multiverse/suites/agent_only/testing_app.rb
newrelic_rpm-3.17.2.327 test/multiverse/suites/agent_only/testing_app.rb
newrelic_rpm-3.17.1.326 test/multiverse/suites/agent_only/testing_app.rb
newrelic_rpm-3.17.0.325 test/multiverse/suites/agent_only/testing_app.rb
newrelic_rpm-3.16.3.323 test/multiverse/suites/agent_only/testing_app.rb
newrelic_rpm-3.16.2.321 test/multiverse/suites/agent_only/testing_app.rb
newrelic_rpm-3.16.1.320 test/multiverse/suites/agent_only/testing_app.rb
newrelic_rpm-3.16.0.318 test/multiverse/suites/agent_only/testing_app.rb
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/newrelic_rpm-3.15.2.317/test/multiverse/suites/agent_only/testing_app.rb
newrelic_rpm-3.15.2.317 test/multiverse/suites/agent_only/testing_app.rb
newrelic_rpm-3.15.1.316 test/multiverse/suites/agent_only/testing_app.rb
newrelic_rpm-3.15.0.314 test/multiverse/suites/agent_only/testing_app.rb
newrelic_rpm-3.14.3.313 test/multiverse/suites/agent_only/testing_app.rb
newrelic_rpm-3.14.2.312 test/multiverse/suites/agent_only/testing_app.rb
newrelic_rpm-3.14.1.311 test/multiverse/suites/agent_only/testing_app.rb
newrelic_rpm-3.14.0.305 test/multiverse/suites/agent_only/testing_app.rb
newrelic_rpm-3.13.2.302 test/multiverse/suites/agent_only/testing_app.rb