wireframe-rpm_contrib 2.1.6.2 → 2.1.8.1
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.
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
|