test/performance/suites/transaction_tracing.rb in newrelic_rpm-3.11.2.286 vs test/performance/suites/transaction_tracing.rb in newrelic_rpm-3.12.0.288
- old
+ new
@@ -1,26 +1,43 @@
# 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.
class TransactionTracingPerfTests < Performance::TestCase
+ FAILURE_MESSAGE = "O_o"
+
+ BOO = "boo"
+ HOO = "hoo"
+ OH = "oh"
+ NO = "no"
+
def klass(instrument)
Class.new do
def self.name
"CustomClass#{object_id}"
end
def short_transaction
method_4
end
+ def transaction_with_attributes
+ method_4
+ NewRelic::Agent.add_custom_attributes(BOO => HOO, OH => NO)
+ end
+
def long_transaction(n)
n.times do
method_1
end
end
+
+ def failure
+ raise FAILURE_MESSAGE
+ end
+
def method_1
method_2
method_3
end
@@ -34,16 +51,20 @@
end
if instrument
include NewRelic::Agent::Instrumentation::ControllerInstrumentation
include NewRelic::Agent::MethodTracer
+
add_method_tracer :method_1
add_method_tracer :method_2
add_method_tracer :method_3
add_method_tracer :method_4
+
add_transaction_tracer :short_transaction
add_transaction_tracer :long_transaction
+ add_transaction_tracer :transaction_with_attributes
+ add_transaction_tracer :failure
end
end
end
@@ -64,8 +85,22 @@
end
def test_long_transactions
measure do
@dummy.long_transaction(10000)
+ end
+ end
+
+ def test_with_custom_attributes
+ measure { @dummy.transaction_with_attributes }
+ end
+
+ def test_failure
+ measure do
+ begin
+ @dummy.failure
+ rescue
+ # Whatever...
+ end
end
end
end