wireframe-rpm_contrib 2.1.6.2 → 2.1.8.1
Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG
CHANGED
@@ -1,9 +1,25 @@
|
|
1
|
-
* Version 2.1.
|
1
|
+
* Version 2.1.8.1
|
2
2
|
|
3
3
|
Add instrumentation for Backgrounded Resque Job Processing Framework (Ryan
|
4
4
|
Sonnek)
|
5
5
|
|
6
|
+
* Version 2.1.8
|
7
|
+
- Removed redis instrumenation in favor of https://github.com/evanphx/newrelic-redis
|
8
|
+
- [FIX] adding check for aws-sdk (Tom Caspy)
|
9
|
+
- Improved Mongo instrumenation from pull request #16 titanous/mongoid-instrumentation
|
10
|
+
|
11
|
+
* Version 2.1.7
|
12
|
+
|
13
|
+
Community contributed instrumentation
|
14
|
+
- ThinkingSphinx instrumentation improvement (Martin Sarsale)
|
15
|
+
- Picky search engine instrumentation (Niko Dittmann)
|
16
|
+
Community Contributed Bug Fixes
|
17
|
+
- Fix instrumentation injection for ActiveMessaging (W. Andrew Loe III)
|
18
|
+
Other
|
19
|
+
- Improvements to resque instrumentation detection of if its in a forking ruby implementation
|
20
|
+
|
6
21
|
* Version 2.1.6
|
22
|
+
|
7
23
|
Community contributed instrumentation
|
8
24
|
- ThinkingSphinx instrumentation (W. Andrew Loe III)
|
9
25
|
- Riak instrumentation (Bryce Kerley)
|
@@ -12,7 +28,7 @@
|
|
12
28
|
- MongoDB instrumentation (Kenn Ejima)
|
13
29
|
- Yajl instrumentation (Chris Griego)
|
14
30
|
- UltraSphinx instrumentation (Jonathan Rudenberg)
|
15
|
-
Renamed ActiveMQ instrumentation to ActiveMessaging (W. Andrew Loe III)
|
31
|
+
- Renamed ActiveMQ instrumentation to ActiveMessaging (W. Andrew Loe III)
|
16
32
|
|
17
33
|
* Version 2.1.5
|
18
34
|
|
data/README.md
CHANGED
@@ -3,6 +3,46 @@
|
|
3
3
|
The `rpm_contrib` gem contains instrumentation for the New Relic RPM agent
|
4
4
|
contributed by the community of RPM users. It requires the RPM Agent to run.
|
5
5
|
|
6
|
+
## Deprecation of RPM Contrib
|
7
|
+
|
8
|
+
Over the next several months we are planning to phase out the rpm_contrib gem.
|
9
|
+
We plan to migrate the existing instrumentation into separate projects that
|
10
|
+
instrument indivdual libraries or frameworks. We see this as having a number of
|
11
|
+
advantages for newrelic users. We will provide a list of recommended
|
12
|
+
instrumentation projects.
|
13
|
+
|
14
|
+
### Removal of Redis Instrumenation
|
15
|
+
|
16
|
+
As of version 2.1.8 Redis instrumentation has been removed from rpm_contrib.
|
17
|
+
Please use Evan Phoenix's `newrelic-redis` gem instead.
|
18
|
+
https://github.com/evanphx/newrelic-redis
|
19
|
+
|
20
|
+
### Request for Maintainers
|
21
|
+
|
22
|
+
If you're interested in maintaining instrumentation for a specific
|
23
|
+
library/framework, please let us know. We'd love to work with you and promote
|
24
|
+
your project. -The New Relic Ruby Agent Team
|
25
|
+
|
26
|
+
## New Relic Ruby Agent Plugins
|
27
|
+
|
28
|
+
Here is a list of instrumentation projects for various Ruby libraries:
|
29
|
+
|
30
|
+
#### Redis
|
31
|
+
|
32
|
+
As of version 2.1.8 Redis instrumentation has been removed from rpm_contrib.
|
33
|
+
Please use Evan Phoenix's `newrelic-redis` gem instead.
|
34
|
+
|
35
|
+
https://github.com/evanphx/newrelic-redis
|
36
|
+
|
37
|
+
#### Faraday
|
38
|
+
|
39
|
+
Instrumentation for the HTTP client library Faraday is available at:
|
40
|
+
|
41
|
+
https://github.com/Viximo/newrelic-faraday
|
42
|
+
|
43
|
+
|
44
|
+
## Getting Started
|
45
|
+
|
6
46
|
To use the rpm_contrib gem, install the `rpm_contrib` gem from rubygems.org.
|
7
47
|
It will also install the required version of the `newrelic_rpm` gem if it's not
|
8
48
|
already installed.
|
@@ -23,9 +63,6 @@ require the rpm_contrib gem:
|
|
23
63
|
require 'rubygems'
|
24
64
|
require 'rpm_contrib'
|
25
65
|
|
26
|
-
When you load the rpm_contrib gem, the `newrelic_rpm` gem will also be
|
27
|
-
initialized. No need for a separate require statement for `newrelic_rpm`.
|
28
|
-
|
29
66
|
In non-Rails frameworks, it's important that the New Relic Agent gets
|
30
67
|
loaded as late as possible, or that the final initialization hook is called
|
31
68
|
after all other frameworks have loaded:
|
@@ -43,6 +80,7 @@ fix the auto-detection logic.
|
|
43
80
|
If this does not help then set the `log_level` to `debug` in the `newrelic.yml` file
|
44
81
|
and examine the `newrelic_agent.log` file for errors after restarting your app.
|
45
82
|
|
83
|
+
|
46
84
|
## Supported Frameworks
|
47
85
|
|
48
86
|
A number of frameworks are supported in the contrib gem. They are all turned on
|
@@ -82,13 +120,13 @@ The gem will instrument both Curl::Easy and Curl::Multi - they should show up si
|
|
82
120
|
|
83
121
|
You can disable it with `disable_curb` in your newrelic.yml file.
|
84
122
|
|
85
|
-
|
123
|
+
### Elastic Search
|
86
124
|
|
87
125
|
The gem will instrument ElasticSearch::Client. The metrics should show up in the UI
|
88
126
|
|
89
127
|
You can disable it with `disable_elastic_search_instrumentation` in your newrelic.yml file.
|
90
128
|
|
91
|
-
|
129
|
+
### KyotoTycoon
|
92
130
|
|
93
131
|
The gem will instrument KyotoTycoon.
|
94
132
|
|
@@ -122,11 +160,10 @@ To disable resque, set 'disable_resque' to true in your newrelic.yml file.
|
|
122
160
|
|
123
161
|
### Redis
|
124
162
|
|
125
|
-
Redis instrumentation
|
126
|
-
summary metrics under the `Database/Redis` metric namespace. This instrumentation
|
127
|
-
supports Redis versions 1.x and 2.x.
|
163
|
+
Redis instrumentation has been removed from rpm_contrib.
|
128
164
|
|
129
|
-
|
165
|
+
Please use Evan Phoenix's `newrelic-redis` gem instead.
|
166
|
+
https://github.com/evanphx/newrelic-redis
|
130
167
|
|
131
168
|
### Riak
|
132
169
|
|
@@ -13,8 +13,14 @@ DependencyDetection.defer do
|
|
13
13
|
|
14
14
|
executes do
|
15
15
|
# Instrument connections to the AWS-S3 service
|
16
|
-
::AWS::S3::Connection
|
17
|
-
|
16
|
+
if defined?(::AWS::S3::Connection)
|
17
|
+
::AWS::S3::Connection::Management::ClassMethods.module_eval do
|
18
|
+
add_method_tracer :establish_connection!, 'AWS-S3/establish_connection!'
|
19
|
+
end
|
20
|
+
else #using aws-sdk
|
21
|
+
::AWS::S3.class_eval do
|
22
|
+
add_method_tracer :initialize, 'AWS-S3/establish_connection!'
|
23
|
+
end
|
18
24
|
end
|
19
25
|
|
20
26
|
# Instrument methods on Bucket
|
@@ -18,7 +18,7 @@ DependencyDetection.defer do
|
|
18
18
|
@name = :picky
|
19
19
|
|
20
20
|
depends_on do
|
21
|
-
defined?(::Picky) && !NewRelic::Control.instance['disable_picky']
|
21
|
+
defined?(::Picky::Search) && !NewRelic::Control.instance['disable_picky']
|
22
22
|
end
|
23
23
|
|
24
24
|
executes do
|
@@ -38,4 +38,4 @@ DependencyDetection.defer do
|
|
38
38
|
alias_method :execute, :execute_with_newrelic_trace
|
39
39
|
end
|
40
40
|
end
|
41
|
-
end
|
41
|
+
end
|
@@ -11,7 +11,8 @@ DependencyDetection.defer do
|
|
11
11
|
end
|
12
12
|
|
13
13
|
executes do
|
14
|
-
::Ripple::Callbacks::InstanceMethods
|
14
|
+
(defined?(::Ripple::Callbacks::InstanceMethods) ?
|
15
|
+
::Ripple::Callbacks::InstanceMethods : ::Ripple::Callbacks).class_eval do
|
15
16
|
add_method_tracer :valid?, 'Database/Riak/Ripple/valid?'
|
16
17
|
end
|
17
18
|
|
@@ -20,11 +21,12 @@ DependencyDetection.defer do
|
|
20
21
|
add_method_tracer :destroy_all, 'Database/Riak/Ripple/destroy_all'
|
21
22
|
end
|
22
23
|
|
23
|
-
|
24
|
+
|
25
|
+
(defined?(::Ripple::Document::Persistence::InstanceMethods) ?
|
26
|
+
::Ripple::Document::Persistence::InstanceMethods : ::Ripple::Document::Persistence).class_eval do
|
24
27
|
add_method_tracer :really_save, 'Database/Riak/Ripple/really_save'
|
25
28
|
add_method_tracer :reload, 'Database/Riak/Ripple/reload'
|
26
|
-
add_method_tracer :
|
27
|
-
add_method_tracer :destroy, 'Database/Riak/Ripple/destroy'
|
29
|
+
add_method_tracer :destroy!, 'Database/Riak/Ripple/destroy'
|
28
30
|
add_method_tracer :update_attribute, 'Database/Riak/Ripple/update_attribute'
|
29
31
|
add_method_tracer :update_attributes, 'Database/Riak/Ripple/update_attributes'
|
30
32
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wireframe-rpm_contrib
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.8.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-
|
13
|
+
date: 2012-04-02 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: newrelic_rpm
|
17
|
-
requirement: &
|
17
|
+
requirement: &2156658320 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,7 +22,7 @@ dependencies:
|
|
22
22
|
version: 3.1.1
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *2156658320
|
26
26
|
description: ! 'Community contributed instrumentation for various frameworks based
|
27
27
|
on
|
28
28
|
|
@@ -60,7 +60,6 @@ files:
|
|
60
60
|
- lib/rpm_contrib/instrumentation/mongoid.rb
|
61
61
|
- lib/rpm_contrib/instrumentation/paperclip.rb
|
62
62
|
- lib/rpm_contrib/instrumentation/picky.rb
|
63
|
-
- lib/rpm_contrib/instrumentation/redis.rb
|
64
63
|
- lib/rpm_contrib/instrumentation/resque.rb
|
65
64
|
- lib/rpm_contrib/instrumentation/riak_client.rb
|
66
65
|
- lib/rpm_contrib/instrumentation/ripple.rb
|
@@ -76,7 +75,6 @@ files:
|
|
76
75
|
- test/schema.rb
|
77
76
|
- test/test_curb.rb
|
78
77
|
- test/test_picky.rb
|
79
|
-
- test/test_redis.rb
|
80
78
|
- test/test_resque.rb
|
81
79
|
- test/test_workling.rb
|
82
80
|
homepage: http://github.com/newrelic/rpm_contrib
|
@@ -99,7 +97,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
99
97
|
version: '0'
|
100
98
|
segments:
|
101
99
|
- 0
|
102
|
-
hash: -
|
100
|
+
hash: -645573489236863710
|
103
101
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
104
102
|
none: false
|
105
103
|
requirements:
|
@@ -1,42 +0,0 @@
|
|
1
|
-
# Redis instrumentation contributed by Ashley Martens of ngmoco
|
2
|
-
#
|
3
|
-
DependencyDetection.defer do
|
4
|
-
@name = :redis
|
5
|
-
|
6
|
-
depends_on do
|
7
|
-
defined?(::Redis) && !NewRelic::Control.instance['disable_redis']
|
8
|
-
end
|
9
|
-
|
10
|
-
executes do
|
11
|
-
NewRelic::Agent.logger.debug 'Installing Redis instrumentation'
|
12
|
-
end
|
13
|
-
|
14
|
-
executes do
|
15
|
-
::Redis::Client.class_eval do
|
16
|
-
|
17
|
-
include NewRelic::Agent::MethodTracer
|
18
|
-
|
19
|
-
def self.redis_call_method
|
20
|
-
::Redis::Client.new.respond_to?(:call) ? :call : :raw_call_command
|
21
|
-
end
|
22
|
-
|
23
|
-
|
24
|
-
def raw_call_command_with_newrelic_trace *args
|
25
|
-
method_name = args[0].is_a?(Array) ? args[0][0] : args[0]
|
26
|
-
metrics = ["Database/Redis/#{method_name}",
|
27
|
-
(NewRelic::Agent::Instrumentation::MetricFrame.recording_web_transaction? ? 'Database/Redis/allWeb' : 'Database/Redis/allOther')]
|
28
|
-
self.class.trace_execution_scoped(metrics) do
|
29
|
-
# NewRelic::Control.instance.log.debug("Instrumenting Redis Call[#{method_name}]: #{args[0].inspect}")
|
30
|
-
raw_call_command_without_newrelic_trace(*args)
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
alias_method :raw_call_command_without_newrelic_trace, redis_call_method
|
35
|
-
alias_method redis_call_method, :raw_call_command_with_newrelic_trace
|
36
|
-
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
|
42
|
-
|
data/test/test_redis.rb
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
require "#{File.dirname(__FILE__)}/helper"
|
2
|
-
begin
|
3
|
-
require 'redis'
|
4
|
-
require 'ruby-debug'
|
5
|
-
rescue LoadError
|
6
|
-
end
|
7
|
-
|
8
|
-
require "#{File.dirname(__FILE__)}/../lib/rpm_contrib/instrumentation/redis"
|
9
|
-
|
10
|
-
if defined?(::Redis)
|
11
|
-
|
12
|
-
|
13
|
-
class RedisTest < Test::Unit::TestCase
|
14
|
-
|
15
|
-
# Called before every test method runs. Can be used
|
16
|
-
# to set up fixture information.
|
17
|
-
def setup
|
18
|
-
# Do nothing
|
19
|
-
end
|
20
|
-
|
21
|
-
# Called after every test method runs. Can be used to tear
|
22
|
-
# down fixture information.
|
23
|
-
|
24
|
-
def teardown
|
25
|
-
# Do nothing
|
26
|
-
end
|
27
|
-
|
28
|
-
# Fake test
|
29
|
-
def test_fail
|
30
|
-
|
31
|
-
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|