Sha256: 8a32bbe0c912028b63dedfd225a2528ec29df6944a240cfe74cc4155799d189c

Contents?: true

Size: 1000 Bytes

Versions: 37

Compression:

Stored size: 1000 Bytes

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 './app'

class BadInstrumentationController < ApplicationController
  # This action is intended to simulate a chunk of instrumentation that pushes
  # a traced method frame, but then never pops it. Such a situation will break
  # instrumentation of that request, but should not actually cause the request
  # to fail.
  # https://newrelic.atlassian.net/browse/RUBY-1158
  def failwhale
    state = NewRelic::Agent::TransactionState.tl_get
    stack = state.traced_method_stack
    stack.push_frame(state, 'failwhale')
    render :text => 'everything went great'
  end
end

class BadInstrumentationTest < RailsMultiverseTest
  include MultiverseHelpers
  setup_and_teardown_agent

  def test_unbalanced_tt_stack_should_not_cause_request_to_fail
    rsp = get '/bad_instrumentation/failwhale'
    assert_equal(200, rsp.to_i)
  end
end

Version data entries

37 entries across 37 versions & 2 rubygems

Version Path
newrelic_rpm-4.1.0.333 test/multiverse/suites/rails/bad_instrumentation_test.rb
newrelic_rpm-4.0.0.332 test/multiverse/suites/rails/bad_instrumentation_test.rb
newrelic_rpm-3.18.1.330 test/multiverse/suites/rails/bad_instrumentation_test.rb
newrelic_rpm-3.18.0.329 test/multiverse/suites/rails/bad_instrumentation_test.rb
newrelic_rpm-3.17.2.327 test/multiverse/suites/rails/bad_instrumentation_test.rb
newrelic_rpm-3.17.1.326 test/multiverse/suites/rails/bad_instrumentation_test.rb
newrelic_rpm-3.17.0.325 test/multiverse/suites/rails/bad_instrumentation_test.rb
newrelic_rpm-3.16.3.323 test/multiverse/suites/rails/bad_instrumentation_test.rb
newrelic_rpm-3.16.2.321 test/multiverse/suites/rails/bad_instrumentation_test.rb
newrelic_rpm-3.16.1.320 test/multiverse/suites/rails/bad_instrumentation_test.rb
newrelic_rpm-3.16.0.318 test/multiverse/suites/rails/bad_instrumentation_test.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/rails/bad_instrumentation_test.rb
newrelic_rpm-3.15.2.317 test/multiverse/suites/rails/bad_instrumentation_test.rb
newrelic_rpm-3.15.1.316 test/multiverse/suites/rails/bad_instrumentation_test.rb
newrelic_rpm-3.15.0.314 test/multiverse/suites/rails/bad_instrumentation_test.rb
newrelic_rpm-3.14.3.313 test/multiverse/suites/rails/bad_instrumentation_test.rb
newrelic_rpm-3.14.2.312 test/multiverse/suites/rails/bad_instrumentation_test.rb
newrelic_rpm-3.14.1.311 test/multiverse/suites/rails/bad_instrumentation_test.rb
newrelic_rpm-3.14.0.305 test/multiverse/suites/rails/bad_instrumentation_test.rb
newrelic_rpm-3.13.2.302 test/multiverse/suites/rails/bad_instrumentation_test.rb