newrelic_rpm 3.0.0.beta2 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of newrelic_rpm might be problematic. Click here for more details.
- data/lib/new_relic/agent/agent.rb +10 -0
- data/lib/new_relic/agent/method_tracer.rb +2 -2
- data/lib/new_relic/version.rb +1 -1
- data/newrelic_rpm.gemspec +2 -2
- data/test/new_relic/agent/method_tracer/class_methods/add_method_tracer_test.rb +4 -4
- data/test/new_relic/agent/transaction_sampler_test.rb +2 -2
- metadata +4 -6
@@ -845,6 +845,7 @@ module NewRelic
|
|
845
845
|
|
846
846
|
def send_request(opts)
|
847
847
|
request = Net::HTTP::Post.new(opts[:uri], 'CONTENT-ENCODING' => opts[:encoding], 'HOST' => opts[:collector].name)
|
848
|
+
request['user-agent'] = user_agent
|
848
849
|
request.content_type = "application/octet-stream"
|
849
850
|
request.body = opts[:data]
|
850
851
|
|
@@ -897,6 +898,15 @@ module NewRelic
|
|
897
898
|
uri
|
898
899
|
end
|
899
900
|
|
901
|
+
def user_agent
|
902
|
+
ruby_description = ''
|
903
|
+
# note the trailing space!
|
904
|
+
ruby_description << "(ruby #{::RUBY_VERSION} #{::RUBY_PLATFORM}) " if defined?(::RUBY_VERSION) && defined?(::RUBY_PLATFORM)
|
905
|
+
zlib_version = ''
|
906
|
+
zlib_version << "zlib/#{Zlib.zlib_version}" if defined?(::Zlib) && Zlib.respond_to?(:zlib_version)
|
907
|
+
"NewRelic-RubyAgent/#{NewRelic::VERSION::STRING} #{ruby_description}#{zlib_version}"
|
908
|
+
end
|
909
|
+
|
900
910
|
# send a message via post
|
901
911
|
def invoke_remote(method, *args)
|
902
912
|
now = Time.now
|
@@ -314,7 +314,7 @@ module NewRelic
|
|
314
314
|
"Custom/#{self.name}/#{method_name.to_s}"
|
315
315
|
end
|
316
316
|
|
317
|
-
def
|
317
|
+
def newrelic_method_exists?(method_name)
|
318
318
|
exists = method_defined?(method_name) || private_method_defined?(method_name)
|
319
319
|
NewRelic::Control.instance.log.warn("Did not trace #{self.name}##{method_name} because that method does not exist") unless exists
|
320
320
|
exists
|
@@ -378,7 +378,7 @@ module NewRelic
|
|
378
378
|
include AddMethodTracer
|
379
379
|
|
380
380
|
def add_method_tracer(method_name, metric_name_code=nil, options = {})
|
381
|
-
return unless
|
381
|
+
return unless newrelic_method_exists?(method_name)
|
382
382
|
metric_name_code ||= default_metric_name_code(method_name)
|
383
383
|
return if traced_method_exists?(method_name, metric_name_code)
|
384
384
|
|
data/lib/new_relic/version.rb
CHANGED
@@ -4,7 +4,7 @@ module NewRelic
|
|
4
4
|
MAJOR = 3
|
5
5
|
MINOR = 0
|
6
6
|
TINY = 0
|
7
|
-
BUILD =
|
7
|
+
BUILD = nil #'0' # Set to nil for a release, 'beta1', 'alpha', etc for prerelease builds
|
8
8
|
STRING = [MAJOR, MINOR, TINY, BUILD].compact.join('.')
|
9
9
|
end
|
10
10
|
|
data/newrelic_rpm.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{newrelic_rpm}
|
8
|
-
s.version = "3.0.0
|
8
|
+
s.version = "3.0.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Bill Kayser", "Justin George"]
|
12
|
-
s.date = %q{2011-05-
|
12
|
+
s.date = %q{2011-05-11}
|
13
13
|
s.description = %q{New Relic RPM is a Ruby performance management system, developed by
|
14
14
|
New Relic, Inc (http://www.newrelic.com). RPM provides you with deep
|
15
15
|
information about the performance of your Ruby on Rails or Merb
|
@@ -38,19 +38,19 @@ module NewRelic
|
|
38
38
|
assert_equal "Custom/#{name}/test_method", default_metric_name_code('test_method')
|
39
39
|
end
|
40
40
|
|
41
|
-
def
|
41
|
+
def test_newrelic_method_exists_positive
|
42
42
|
self.expects(:method_defined?).returns(true)
|
43
|
-
assert
|
43
|
+
assert newrelic_method_exists?('test_method')
|
44
44
|
end
|
45
45
|
|
46
|
-
def
|
46
|
+
def test_newrelic_method_exists_negative
|
47
47
|
self.expects(:method_defined?).returns(false)
|
48
48
|
self.expects(:private_method_defined?).returns(false)
|
49
49
|
|
50
50
|
fake_log = mock('log')
|
51
51
|
NewRelic::Control.instance.expects(:log).returns(fake_log)
|
52
52
|
fake_log.expects(:warn).with("Did not trace #{name}#test_method because that method does not exist")
|
53
|
-
assert !
|
53
|
+
assert !newrelic_method_exists?('test_method')
|
54
54
|
end
|
55
55
|
|
56
56
|
def test_set_deduct_call_time_based_on_metric_positive
|
@@ -740,7 +740,7 @@ class NewRelic::Agent::TransactionSamplerTest < Test::Unit::TestCase
|
|
740
740
|
run_sample_trace
|
741
741
|
|
742
742
|
slowest = @sampler.harvest(nil, 0)[0]
|
743
|
-
assert((slowest.duration >= 0.
|
743
|
+
assert((slowest.duration >= 0.09), "expected sample duration >= 0.09, but was: #{slowest.duration.inspect}")
|
744
744
|
# this assert is here to make sure the test remains valid
|
745
745
|
assert((slowest.duration <= 0.15), "expected sample duration <= 0.15, but was: #{slowest.duration.inspect}")
|
746
746
|
|
@@ -749,7 +749,7 @@ class NewRelic::Agent::TransactionSamplerTest < Test::Unit::TestCase
|
|
749
749
|
not_as_slow = @sampler.harvest(slowest, 0)[0]
|
750
750
|
assert((not_as_slow == slowest), "Should re-harvest the same transaction since it should be slower than the new transaction - expected #{slowest.inspect} but got #{not_as_slow.inspect}")
|
751
751
|
|
752
|
-
run_sample_trace { sleep 0.
|
752
|
+
run_sample_trace { sleep 0.16 }
|
753
753
|
new_slowest = @sampler.harvest(slowest, 0)[0]
|
754
754
|
assert((new_slowest != slowest), "Should not harvest the same trace since the new one should be slower")
|
755
755
|
assert((new_slowest.duration >= 0.15), "Slowest duration must be >= 0.15, but was: #{new_slowest.duration.inspect}")
|
metadata
CHANGED
@@ -1,15 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: newrelic_rpm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 7
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 3
|
8
8
|
- 0
|
9
9
|
- 0
|
10
|
-
|
11
|
-
- 2
|
12
|
-
version: 3.0.0.beta2
|
10
|
+
version: 3.0.0
|
13
11
|
platform: ruby
|
14
12
|
authors:
|
15
13
|
- Bill Kayser
|
@@ -18,7 +16,7 @@ autorequire:
|
|
18
16
|
bindir: bin
|
19
17
|
cert_chain: []
|
20
18
|
|
21
|
-
date: 2011-05-
|
19
|
+
date: 2011-05-11 00:00:00 -07:00
|
22
20
|
default_executable:
|
23
21
|
dependencies:
|
24
22
|
- !ruby/object:Gem::Dependency
|