newrelic_rpm 3.6.6.147 → 3.6.7.152
Sign up to get free protection for your applications and to get access to all the features.
- data.tar.gz.sig +0 -0
- data/.gitignore +0 -1
- data/CHANGELOG +55 -17
- data/Guardfile +7 -0
- data/Rakefile +6 -0
- data/bin/mongrel_rpm +33 -0
- data/bin/newrelic +13 -0
- data/bin/newrelic_cmd +5 -0
- data/bin/nrdebug +273 -0
- data/install.rb +3 -3
- data/lib/new_relic/agent.rb +4 -6
- data/lib/new_relic/agent/agent.rb +76 -72
- data/lib/new_relic/agent/autostart.rb +18 -5
- data/lib/new_relic/agent/browser_monitoring.rb +41 -35
- data/lib/new_relic/agent/browser_token.rb +38 -0
- data/lib/new_relic/agent/busy_calculator.rb +7 -5
- data/lib/new_relic/agent/commands/agent_command.rb +19 -0
- data/lib/new_relic/agent/commands/agent_command_router.rb +88 -0
- data/lib/new_relic/agent/commands/thread_profiler.rb +80 -0
- data/lib/new_relic/agent/configuration/default_source.rb +700 -0
- data/lib/new_relic/agent/configuration/environment_source.rb +83 -30
- data/lib/new_relic/agent/configuration/manager.rb +8 -8
- data/lib/new_relic/agent/configuration/mask_defaults.rb +2 -2
- data/lib/new_relic/agent/cross_app_monitor.rb +10 -21
- data/lib/new_relic/agent/cross_app_tracing.rb +3 -3
- data/lib/new_relic/agent/error_collector.rb +7 -10
- data/lib/new_relic/agent/http_clients/curb_wrappers.rb +1 -1
- data/lib/new_relic/agent/http_clients/excon_wrappers.rb +5 -1
- data/lib/new_relic/agent/http_clients/httpclient_wrappers.rb +5 -1
- data/lib/new_relic/agent/http_clients/net_http_wrappers.rb +5 -1
- data/lib/new_relic/agent/http_clients/typhoeus_wrappers.rb +1 -1
- data/lib/new_relic/agent/instrumentation/action_controller_subscriber.rb +5 -12
- data/lib/new_relic/agent/instrumentation/action_view_subscriber.rb +4 -0
- data/lib/new_relic/agent/instrumentation/{rails4/active_record.rb → active_record_4.rb} +1 -1
- data/lib/new_relic/agent/instrumentation/active_record_subscriber.rb +11 -11
- data/lib/new_relic/agent/instrumentation/authlogic.rb +8 -6
- data/lib/new_relic/agent/instrumentation/controller_instrumentation.rb +12 -6
- data/lib/new_relic/agent/instrumentation/curb.rb +11 -2
- data/lib/new_relic/agent/instrumentation/delayed_job_instrumentation.rb +1 -3
- data/lib/new_relic/agent/instrumentation/evented_subscriber.rb +11 -2
- data/lib/new_relic/agent/instrumentation/excon/middleware.rb +13 -4
- data/lib/new_relic/agent/instrumentation/puma.rb +2 -1
- data/lib/new_relic/agent/instrumentation/rack.rb +15 -17
- data/lib/new_relic/agent/method_tracer.rb +181 -191
- data/lib/new_relic/agent/new_relic_service.rb +16 -14
- data/lib/new_relic/agent/pipe_channel_manager.rb +1 -1
- data/lib/new_relic/agent/request_sampler.rb +32 -165
- data/lib/new_relic/agent/sampled_buffer.rb +79 -0
- data/lib/new_relic/agent/samplers/delayed_job_sampler.rb +1 -8
- data/lib/new_relic/agent/sql_sampler.rb +3 -3
- data/lib/new_relic/agent/stats_engine.rb +1 -1
- data/lib/new_relic/agent/stats_engine/gc_profiler.rb +1 -1
- data/lib/new_relic/agent/stats_engine/metric_stats.rb +2 -3
- data/lib/new_relic/agent/stats_engine/transactions.rb +2 -22
- data/lib/new_relic/agent/threading/agent_thread.rb +41 -0
- data/lib/new_relic/agent/threading/backtrace_node.rb +71 -0
- data/lib/new_relic/agent/threading/thread_profile.rb +172 -0
- data/lib/new_relic/agent/transaction.rb +16 -4
- data/lib/new_relic/agent/transaction_sample_builder.rb +13 -3
- data/lib/new_relic/agent/transaction_sampler.rb +5 -8
- data/lib/new_relic/agent/transaction_state.rb +166 -0
- data/lib/new_relic/agent/transaction_timings.rb +53 -0
- data/lib/new_relic/cli/command.rb +91 -0
- data/lib/new_relic/{commands → cli}/deployments.rb +13 -9
- data/lib/new_relic/{commands → cli}/install.rb +2 -2
- data/lib/new_relic/control/frameworks/rails.rb +1 -8
- data/lib/new_relic/control/instance_methods.rb +1 -2
- data/lib/new_relic/helper.rb +9 -0
- data/lib/new_relic/local_environment.rb +16 -63
- data/lib/new_relic/rack/browser_monitoring.rb +8 -5
- data/lib/new_relic/recipes.rb +44 -31
- data/lib/new_relic/transaction_sample.rb +6 -2
- data/lib/new_relic/version.rb +1 -1
- data/lib/tasks/install.rake +21 -1
- data/newrelic_rpm.gemspec +5 -1
- data/test/agent_helper.rb +4 -9
- data/test/environments/.gitignore +16 -0
- data/test/environments/lib/environments/runner.rb +104 -0
- data/test/environments/norails/Gemfile +11 -0
- data/test/environments/norails/Rakefile +9 -0
- data/test/environments/rails21/Gemfile +24 -0
- data/test/environments/rails21/Rakefile +12 -0
- data/test/environments/rails21/app/controllers/application.rb +20 -0
- data/test/environments/rails21/config/boot.rb +113 -0
- data/test/environments/rails21/config/database.yml +31 -0
- data/test/environments/rails21/config/environment.rb +28 -0
- data/test/environments/rails21/config/environments/development.rb +16 -0
- data/test/environments/rails21/config/environments/production.rb +8 -0
- data/test/environments/rails21/config/environments/test.rb +10 -0
- data/test/environments/rails21/config/routes.rb +5 -0
- data/test/environments/rails21/db/schema.rb +5 -0
- data/test/environments/rails22/Gemfile +29 -0
- data/test/environments/rails22/Rakefile +12 -0
- data/test/environments/rails22/app/controllers/application.rb +20 -0
- data/test/environments/rails22/config/boot.rb +113 -0
- data/test/environments/rails22/config/database.yml +31 -0
- data/test/environments/rails22/config/environment.rb +27 -0
- data/test/environments/rails22/config/environments/development.rb +16 -0
- data/test/environments/rails22/config/environments/production.rb +8 -0
- data/test/environments/rails22/config/environments/test.rb +10 -0
- data/test/environments/rails22/config/routes.rb +5 -0
- data/test/environments/rails22/db/schema.rb +5 -0
- data/test/environments/rails23/Gemfile +22 -0
- data/test/environments/rails23/Rakefile +12 -0
- data/test/environments/rails23/app/controllers/application.rb +20 -0
- data/test/environments/rails23/config/boot.rb +127 -0
- data/test/environments/rails23/config/database.yml +31 -0
- data/test/environments/rails23/config/environment.rb +25 -0
- data/test/environments/rails23/config/environments/development.rb +16 -0
- data/test/environments/rails23/config/environments/production.rb +8 -0
- data/test/environments/rails23/config/environments/test.rb +10 -0
- data/test/environments/rails23/config/preinitializer.rb +25 -0
- data/test/environments/rails23/config/routes.rb +5 -0
- data/test/environments/rails23/db/schema.rb +5 -0
- data/test/environments/rails30/Gemfile +19 -0
- data/test/environments/rails30/Rakefile +9 -0
- data/test/environments/rails30/config/application.rb +17 -0
- data/test/environments/rails30/config/boot.rb +10 -0
- data/test/environments/rails30/config/database.yml +31 -0
- data/test/environments/rails30/config/environment.rb +6 -0
- data/test/environments/rails30/config/initializers/new_rails_defaults.rb +11 -0
- data/test/environments/rails30/db/schema.rb +5 -0
- data/test/environments/rails31/Gemfile +19 -0
- data/test/environments/rails31/Rakefile +9 -0
- data/test/environments/rails31/config/application.rb +18 -0
- data/test/environments/rails31/config/boot.rb +10 -0
- data/test/environments/rails31/config/database.yml +31 -0
- data/test/environments/rails31/config/environment.rb +6 -0
- data/test/environments/rails31/config/initializers/new_rails_defaults.rb +21 -0
- data/test/environments/rails31/db/schema.rb +5 -0
- data/test/environments/rails32/Gemfile +25 -0
- data/test/environments/rails32/Rakefile +9 -0
- data/test/environments/rails32/config/application.rb +19 -0
- data/test/environments/rails32/config/boot.rb +10 -0
- data/test/environments/rails32/config/database.yml +31 -0
- data/test/environments/rails32/config/environment.rb +6 -0
- data/test/environments/rails32/db/schema.rb +5 -0
- data/test/environments/rails40/Gemfile +25 -0
- data/test/environments/rails40/Rakefile +9 -0
- data/test/environments/rails40/config/application.rb +18 -0
- data/test/environments/rails40/config/boot.rb +10 -0
- data/test/environments/rails40/config/database.yml +31 -0
- data/test/environments/rails40/config/environment.rb +6 -0
- data/test/environments/rails40/db/schema.rb +5 -0
- data/test/multiverse/lib/multiverse/suite.rb +24 -12
- data/test/multiverse/suites/agent_only/logging_test.rb +18 -1
- data/test/multiverse/suites/agent_only/rum_instrumentation_test.rb +1 -8
- data/test/multiverse/suites/agent_only/thread_profiling_test.rb +10 -7
- data/test/multiverse/suites/curb/curb_test.rb +17 -3
- data/test/multiverse/suites/excon/Envfile +1 -1
- data/test/multiverse/suites/excon/excon_test.rb +18 -2
- data/test/multiverse/suites/httpclient/httpclient_test.rb +2 -2
- data/test/multiverse/suites/net_http/net_http_test.rb +2 -2
- data/test/multiverse/suites/rails/error_tracing_test.rb +35 -8
- data/test/multiverse/suites/rails/ignore_test.rb +48 -0
- data/test/multiverse/suites/rails/mongrel_queue_depth_test.rb +44 -0
- data/test/multiverse/suites/sequel/sequel_test.rb +11 -0
- data/test/multiverse/suites/sinatra/ignoring_test.rb +2 -2
- data/test/multiverse/suites/typhoeus/Envfile +9 -2
- data/test/multiverse/suites/typhoeus/typhoeus_test.rb +3 -2
- data/test/new_relic/agent/agent/start_test.rb +3 -22
- data/test/new_relic/agent/agent_test.rb +6 -5
- data/test/new_relic/agent/autostart_test.rb +39 -1
- data/test/new_relic/agent/browser_monitoring_test.rb +43 -88
- data/test/new_relic/agent/browser_token_test.rb +52 -0
- data/test/new_relic/agent/busy_calculator_test.rb +1 -1
- data/test/new_relic/agent/commands/agent_command_router_test.rb +98 -0
- data/test/new_relic/agent/commands/agent_command_test.rb +37 -0
- data/test/new_relic/agent/commands/thread_profiler_test.rb +177 -0
- data/test/new_relic/agent/configuration/default_source_test.rb +81 -0
- data/test/new_relic/agent/configuration/environment_source_test.rb +81 -7
- data/test/new_relic/agent/configuration/manager_test.rb +16 -1
- data/test/new_relic/agent/cross_app_monitor_test.rb +3 -5
- data/test/new_relic/agent/error_collector_test.rb +14 -0
- data/test/new_relic/agent/instrumentation/action_controller_subscriber_test.rb +1 -1
- data/test/new_relic/agent/instrumentation/active_record_instrumentation_test.rb +2 -3
- data/test/new_relic/agent/instrumentation/active_record_subscriber_test.rb +29 -31
- data/test/new_relic/agent/instrumentation/controller_instrumentation_test.rb +22 -0
- data/test/new_relic/agent/method_tracer/instance_methods/trace_execution_scoped_test.rb +2 -2
- data/test/new_relic/agent/method_tracer_test.rb +2 -2
- data/test/new_relic/agent/new_relic_service_test.rb +5 -49
- data/test/new_relic/agent/pipe_channel_manager_test.rb +1 -0
- data/test/new_relic/agent/request_sampler_test.rb +32 -95
- data/test/new_relic/agent/rpm_agent_test.rb +7 -5
- data/test/new_relic/agent/sampled_buffer_test.rb +178 -0
- data/test/new_relic/agent/stats_engine/metric_stats_test.rb +0 -1
- data/test/new_relic/agent/stats_engine_test.rb +10 -17
- data/test/new_relic/agent/threading/agent_thread_test.rb +107 -0
- data/test/new_relic/agent/threading/backtrace_node_test.rb +96 -0
- data/test/new_relic/agent/{threaded_test.rb → threading/fake_thread.rb} +0 -25
- data/test/new_relic/agent/threading/thread_profile_test.rb +308 -0
- data/test/new_relic/agent/threading/threaded_test_case.rb +33 -0
- data/test/new_relic/agent/transaction/pop_test.rb +0 -16
- data/test/new_relic/agent/transaction_sample_builder_test.rb +23 -4
- data/test/new_relic/agent/transaction_sampler_test.rb +14 -15
- data/test/new_relic/agent/transaction_state_test.rb +75 -0
- data/test/new_relic/agent/transaction_test.rb +15 -0
- data/test/new_relic/agent/transaction_timings_test.rb +81 -0
- data/test/new_relic/agent_test.rb +12 -14
- data/test/new_relic/{command → cli}/deployments_test.rb +41 -13
- data/test/new_relic/control/frameworks/rails_test.rb +1 -2
- data/test/new_relic/control_test.rb +1 -2
- data/test/new_relic/dependency_detection_test.rb +14 -0
- data/test/new_relic/fake_collector.rb +1 -0
- data/test/new_relic/helper_test.rb +7 -2
- data/test/new_relic/http_client_test_cases.rb +33 -1
- data/test/new_relic/local_environment_test.rb +0 -23
- data/test/new_relic/metric_data_test.rb +4 -0
- data/test/new_relic/rack/browser_monitoring_test.rb +31 -30
- data/test/performance/lib/performance/result.rb +15 -4
- data/test/performance/lib/performance/timer.rb +7 -1
- data/test/performance/script/baselines +102 -0
- data/test/performance/suites/rum_autoinsertion.rb +57 -0
- data/test/rum/basic.result.html +10 -0
- data/test/rum/basic.source.html +10 -0
- data/test/rum/comments1.result.html +24 -0
- data/test/rum/comments1.source.html +24 -0
- data/test/rum/comments2.result.html +24 -0
- data/test/rum/comments2.source.html +24 -0
- data/test/rum/gt_in_quotes1.result.html +27 -0
- data/test/rum/gt_in_quotes1.source.html +27 -0
- data/test/rum/gt_in_quotes2.result.html +24 -0
- data/test/rum/gt_in_quotes2.source.html +24 -0
- data/test/rum/gt_in_quotes_mismatch.result.html +24 -0
- data/test/rum/gt_in_quotes_mismatch.source.html +24 -0
- data/test/rum/gt_in_single_quotes1.result.html +25 -0
- data/test/rum/gt_in_single_quotes1.source.html +25 -0
- data/test/rum/gt_in_single_quotes_mismatch.result.html +25 -0
- data/test/rum/gt_in_single_quotes_mismatch.source.html +25 -0
- data/test/rum/incomplete_non_meta_tags.result.html +10 -0
- data/test/rum/incomplete_non_meta_tags.source.html +10 -0
- data/test/rum/no_body.result.html +21 -0
- data/test/rum/no_body.source.html +21 -0
- data/test/rum/no_header.result.html +7 -0
- data/test/rum/no_header.source.html +7 -0
- data/test/rum/no_start_header.result.html +9 -0
- data/test/rum/no_start_header.source.html +9 -0
- data/test/rum/script1.result.html +19 -0
- data/test/rum/script1.source.html +19 -0
- data/test/rum/script2.result.html +17 -0
- data/test/rum/script2.source.html +17 -0
- data/test/rum/x_ua_meta_tag.result.html +10 -0
- data/test/rum/x_ua_meta_tag.source.html +10 -0
- data/test/rum/x_ua_meta_tag_multiline.result.html +11 -0
- data/test/rum/x_ua_meta_tag_multiline.source.html +11 -0
- data/test/rum/x_ua_meta_tag_with_others.result.html +11 -0
- data/test/rum/x_ua_meta_tag_with_others.source.html +11 -0
- data/test/rum/x_ua_meta_tag_with_spaces.result.html +10 -0
- data/test/rum/x_ua_meta_tag_with_spaces.source.html +10 -0
- data/test/script/ci.sh +1 -12
- data/test/test_helper.rb +1 -0
- data/vendor/gems/dependency_detection-0.0.1.build/lib/dependency_detection.rb +11 -0
- metadata +225 -32
- metadata.gz.sig +0 -0
- data/lib/new_relic/agent/configuration/defaults.rb +0 -157
- data/lib/new_relic/agent/instrumentation/browser_monitoring_timings.rb +0 -56
- data/lib/new_relic/agent/thread.rb +0 -37
- data/lib/new_relic/agent/thread_profiler.rb +0 -323
- data/lib/new_relic/agent/transaction_info.rb +0 -114
- data/lib/new_relic/command.rb +0 -89
- data/test/new_relic/agent/agent_test_controller_test.rb +0 -348
- data/test/new_relic/agent/instrumentation/browser_monitoring_timings_test.rb +0 -70
- data/test/new_relic/agent/thread_profiler_test.rb +0 -586
- data/test/new_relic/agent/thread_test.rb +0 -93
- data/test/new_relic/agent/transaction_info_test.rb +0 -99
@@ -1,93 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
# This file is distributed under New Relic's license terms.
|
3
|
-
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
|
4
|
-
|
5
|
-
require File.expand_path(File.join(File.dirname(__FILE__),'..','..','test_helper'))
|
6
|
-
require 'new_relic/agent/thread'
|
7
|
-
|
8
|
-
class ThreadTest < Test::Unit::TestCase
|
9
|
-
|
10
|
-
def test_sets_label
|
11
|
-
t = NewRelic::Agent::AgentThread.new("labelled") {}
|
12
|
-
assert_equal "labelled", t[:newrelic_label]
|
13
|
-
end
|
14
|
-
|
15
|
-
def test_bucket_thread_as_agent_when_profiling
|
16
|
-
t = NewRelic::Agent::AgentThread.new("labelled") {}
|
17
|
-
assert_equal :agent, NewRelic::Agent::AgentThread.bucket_thread(t, true)
|
18
|
-
end
|
19
|
-
|
20
|
-
def test_bucket_thread_as_agent_when_not_profiling
|
21
|
-
t = NewRelic::Agent::AgentThread.new("labelled") {}
|
22
|
-
assert_equal :ignore, NewRelic::Agent::AgentThread.bucket_thread(t, false)
|
23
|
-
end
|
24
|
-
|
25
|
-
def test_bucket_thread_as_request
|
26
|
-
t = ::Thread.new {}
|
27
|
-
txn = NewRelic::Agent::Transaction.new
|
28
|
-
txn.request = "has a request"
|
29
|
-
t[:newrelic_transaction] = [txn]
|
30
|
-
|
31
|
-
assert_equal :request, NewRelic::Agent::AgentThread.bucket_thread(t, DONT_CARE)
|
32
|
-
end
|
33
|
-
|
34
|
-
def test_bucket_thread_as_background
|
35
|
-
t = ::Thread.new {}
|
36
|
-
txn = NewRelic::Agent::Transaction.new
|
37
|
-
t[:newrelic_transaction] = [txn]
|
38
|
-
|
39
|
-
assert_equal :background, NewRelic::Agent::AgentThread.bucket_thread(t, DONT_CARE)
|
40
|
-
end
|
41
|
-
|
42
|
-
def test_bucket_thread_as_other_if_nil_txn
|
43
|
-
t = ::Thread.new {}
|
44
|
-
t[:newrelic_transaction] = []
|
45
|
-
|
46
|
-
assert_equal :other, NewRelic::Agent::AgentThread.bucket_thread(t, DONT_CARE)
|
47
|
-
end
|
48
|
-
|
49
|
-
def test_bucket_thread_as_other
|
50
|
-
t = ::Thread.new {}
|
51
|
-
assert_equal :other, NewRelic::Agent::AgentThread.bucket_thread(t, DONT_CARE)
|
52
|
-
end
|
53
|
-
|
54
|
-
def test_runs_block
|
55
|
-
called = false
|
56
|
-
|
57
|
-
t = NewRelic::Agent::AgentThread.new("labelled") { called = true }
|
58
|
-
t.join
|
59
|
-
|
60
|
-
assert called
|
61
|
-
end
|
62
|
-
|
63
|
-
TRACE = [
|
64
|
-
"/Users/jclark/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/eventmachine-0.12.10/lib/eventmachine.rb:100:in `catch'",
|
65
|
-
"/Users/jclark/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/newrelic_rpm-3.5.3.452.dev/lib/new_relic/agent/agent.rb:200:in `start_worker_thread'",
|
66
|
-
"/Users/jclark/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/thin-1.5.0/lib/thin/backends/base.rb:300:in `block (3 levels) in run'",
|
67
|
-
]
|
68
|
-
|
69
|
-
def test_scrubs_backtrace_when_not_profiling_agent_code
|
70
|
-
result = NewRelic::Agent::AgentThread.scrub_backtrace(stub(:backtrace => TRACE), false)
|
71
|
-
assert_equal [TRACE[0], TRACE[2]], result
|
72
|
-
end
|
73
|
-
|
74
|
-
def test_doesnt_scrub_backtrace_when_profiling_agent_code
|
75
|
-
result = NewRelic::Agent::AgentThread.scrub_backtrace(stub(:backtrace => TRACE), true)
|
76
|
-
assert_equal TRACE, result
|
77
|
-
end
|
78
|
-
|
79
|
-
def test_scrub_backtrace_handles_errors_during_backtrace
|
80
|
-
dummy_thread = stub
|
81
|
-
dummy_thread.stubs(:backtrace).raises(StandardError.new('nah'))
|
82
|
-
assert_nothing_raised do
|
83
|
-
NewRelic::Agent::AgentThread.scrub_backtrace(dummy_thread, true)
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
def test_scrub_backtrace_handles_nil_backtrace
|
88
|
-
bt = NewRelic::Agent::AgentThread.scrub_backtrace(stub(:backtrace => nil), false)
|
89
|
-
assert_nil(bt)
|
90
|
-
end
|
91
|
-
|
92
|
-
DONT_CARE = true
|
93
|
-
end
|
@@ -1,99 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
# This file is distributed under New Relic's license terms.
|
3
|
-
# See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
|
4
|
-
|
5
|
-
require File.expand_path(File.join(File.dirname(__FILE__),'..','..','test_helper'))
|
6
|
-
require 'ostruct'
|
7
|
-
|
8
|
-
class NewRelic::Agent::TransactionInfoTest < Test::Unit::TestCase
|
9
|
-
def setup
|
10
|
-
@request = OpenStruct.new(:cookies => {'NRAGENT' => 'tk=12345678'})
|
11
|
-
@request_with_embedded_tag = OpenStruct.new(:cookies => {'NRAGENT' => 'tk=1234<tag>evil</tag>5678'})
|
12
|
-
@request_with_embedded_utf8_encoded_js = OpenStruct.new(:cookies => {'NRAGENT' => "tk=1234"])򑛞"})
|
13
|
-
@request_with_double_quotes = OpenStruct.new(:cookies => {'NRAGENT' => 'tk="""deadbeef"""'})
|
14
|
-
@request_with_single_quotes = OpenStruct.new(:cookies => {'NRAGENT' => "tk='''deadbeef'''"})
|
15
|
-
@request_with_multi_lt = OpenStruct.new(:cookies => {'NRAGENT' => 'tk=<<<deadbeef'})
|
16
|
-
@request_with_multi_gt = OpenStruct.new(:cookies => {'NRAGENT' => 'tk=>>>deadbeef'})
|
17
|
-
@request_with_bare_token = OpenStruct.new(:cookies => {'NRAGENT' => 0xdeadbeef})
|
18
|
-
@request_with_nil_token = OpenStruct.new(:cookies => {'NRAGENT' => nil})
|
19
|
-
end
|
20
|
-
|
21
|
-
def test_get_token_safe_token_returned_untouched
|
22
|
-
assert_equal("12345678", NewRelic::Agent::TransactionInfo.get_token(@request))
|
23
|
-
end
|
24
|
-
|
25
|
-
def test_get_token_with_embedded_tags_sanitized
|
26
|
-
assert_equal("",NewRelic::Agent::TransactionInfo.get_token(@request_with_embedded_tag))
|
27
|
-
end
|
28
|
-
|
29
|
-
def test_get_token_with_embedded_utf8_js_sanitized
|
30
|
-
assert_equal("1234&#34&#93&#41&#595678",
|
31
|
-
NewRelic::Agent::TransactionInfo.get_token(@request_with_embedded_utf8_encoded_js))
|
32
|
-
end
|
33
|
-
|
34
|
-
def test_get_token_replaces_double_quoted_token_with_empty_string
|
35
|
-
assert_equal("", NewRelic::Agent::TransactionInfo.get_token(@request_with_double_quotes))
|
36
|
-
end
|
37
|
-
|
38
|
-
def test_get_token_replaces_single_quoted_toket_with_empty_string
|
39
|
-
assert_equal("", NewRelic::Agent::TransactionInfo.get_token(@request_with_single_quotes))
|
40
|
-
end
|
41
|
-
|
42
|
-
def test_get_token_replaces_token_started_with_multiple_Lt_with_empty_string
|
43
|
-
assert_equal("", NewRelic::Agent::TransactionInfo.get_token(@request_with_multi_lt))
|
44
|
-
end
|
45
|
-
|
46
|
-
def test_get_token_replaces_token_started_with_multiple_gt_with_empty_string
|
47
|
-
assert_equal("", NewRelic::Agent::TransactionInfo.get_token(@request_with_multi_gt))
|
48
|
-
end
|
49
|
-
|
50
|
-
def test_get_token_bare_value_replaced_with_nil
|
51
|
-
assert_equal(nil,NewRelic::Agent::TransactionInfo.get_token(@request_with_bare_token))
|
52
|
-
end
|
53
|
-
|
54
|
-
def test_get_token_nil_token_returns_nil_token
|
55
|
-
assert_equal(nil,NewRelic::Agent::TransactionInfo.get_token(@request_with_ni_token))
|
56
|
-
end
|
57
|
-
|
58
|
-
def test_has_correct_apdex_t_for_tansaction
|
59
|
-
txn_info = NewRelic::Agent::TransactionInfo.get
|
60
|
-
config = { :web_transactions_apdex => {'Controller/foo/bar' => 1.5},
|
61
|
-
:apdex_t => 2.0 }
|
62
|
-
|
63
|
-
with_config(config, :do_not_cast => true) do
|
64
|
-
txn_info.transaction = stub(:name => 'Controller/foo/bar')
|
65
|
-
assert_equal 1.5, txn_info.apdex_t
|
66
|
-
txn_info.transaction = stub(:name => 'Controller/some/other')
|
67
|
-
assert_equal 2.0, txn_info.apdex_t
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
|
-
def test_has_correct_transaction_trace_threshold_when_default
|
72
|
-
txn_info = NewRelic::Agent::TransactionInfo.get
|
73
|
-
config = { :web_transactions_apdex => {'Controller/foo/bar' => 1.5},
|
74
|
-
:apdex_t => 2.0 }
|
75
|
-
|
76
|
-
with_config(config, :do_not_cast => true) do
|
77
|
-
txn_info.transaction = stub(:name => 'Controller/foo/bar')
|
78
|
-
assert_equal 6.0, txn_info.transaction_trace_threshold
|
79
|
-
txn_info.transaction = stub(:name => 'Controller/some/other')
|
80
|
-
assert_equal 8.0, txn_info.transaction_trace_threshold
|
81
|
-
end
|
82
|
-
end
|
83
|
-
|
84
|
-
def test_has_correct_transaction_trace_threshold_when_specified
|
85
|
-
txn_info = NewRelic::Agent::TransactionInfo.get
|
86
|
-
config = {
|
87
|
-
:web_transactions_apdex => {'Controller/foo/bar' => 1.5},
|
88
|
-
:apdex_t => 2.0,
|
89
|
-
:'transaction_tracer.transaction_threshold' => 4.0
|
90
|
-
}
|
91
|
-
|
92
|
-
with_config(config, :do_not_cast => true) do
|
93
|
-
txn_info.transaction = stub(:name => 'Controller/foo/bar')
|
94
|
-
assert_equal 4.0, txn_info.transaction_trace_threshold
|
95
|
-
txn_info.transaction = stub(:name => 'Controller/some/other')
|
96
|
-
assert_equal 4.0, txn_info.transaction_trace_threshold
|
97
|
-
end
|
98
|
-
end
|
99
|
-
end
|