Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: wireframe/rpm_contrib
base: 484f88153b
...
head fork: wireframe/rpm_contrib
compare: ea08b957a2
Checking mergeability… Don't worry, you can still create the pull request.
  • 16 commits
  • 10 files changed
  • 0 commit comments
  • 4 contributors
Commits on Mar 08, 2012
Tom Caspy [FIX] adding check for aws-sdk a99a5a8
@samg samg Merge pull request #24 from fiverr/master
Updated the dependency in AWS::S3 to AWS - SDK gem
9d40136
Commits on Mar 19, 2012
@samg samg Be a little tighter with Picky detection c2ba5dd
@samg samg Updated changelog for v2.1.7 a19b07e
@samg samg Version 2.1.7
Community contributed instrumentation
- ThinkingSphinx instrumentation improvement (Martin Sarsale)
- Picky search engine instrumentation (Niko Dittmann)
Community Contributed Bug Fixes
- Fix instrumentation injection for ActiveMessaging (W. Andrew Loe III)
Other
- Improvements to resque instrumentation detection of if its in a forking ruby implementation
b1f68bd
@samg samg Remove redis instrumentation and update readme to point to newrelic-r…
…edis
6b450a7
@samg samg Whitespace 96542e9
@samg samg CHANGELOG/gemspec for version 2.1.8 bc60c6a
@samg samg README Formatting 77d1991
Commits on Mar 21, 2012
Stefan Mees support for ripple 1.x a6c8640
Commits on Mar 22, 2012
@samg samg Merge pull request #26 from stefan-mees/master
support for ripple 1.x
6daf97b
Commits on Mar 23, 2012
@samg samg Add information about Faraday instrumenation project 78704c9
@samg samg Words 84a906d
Commits on Apr 02, 2012
Ryan Sonnek merge 7ef3e0f
Ryan Sonnek bump changelog 9f1a703
Commits on Apr 04, 2012
Ryan Sonnek ignore gems ea08b95
View
1  .gitignore
@@ -24,5 +24,6 @@ docs/
pkg
log
Gemfile.lock
+*.gem
## PROJECT::SPECIFIC
View
20 CHANGELOG
@@ -1,9 +1,25 @@
-* Version 2.1.6.2
+* Version 2.1.8.1
Add instrumentation for Backgrounded Resque Job Processing Framework (Ryan
Sonnek)
+* Version 2.1.8
+ - Removed redis instrumenation in favor of https://github.com/evanphx/newrelic-redis
+ - [FIX] adding check for aws-sdk (Tom Caspy)
+ - Improved Mongo instrumenation from pull request #16 titanous/mongoid-instrumentation
+
+* Version 2.1.7
+
+ Community contributed instrumentation
+ - ThinkingSphinx instrumentation improvement (Martin Sarsale)
+ - Picky search engine instrumentation (Niko Dittmann)
+ Community Contributed Bug Fixes
+ - Fix instrumentation injection for ActiveMessaging (W. Andrew Loe III)
+ Other
+ - Improvements to resque instrumentation detection of if its in a forking ruby implementation
+
* Version 2.1.6
+
Community contributed instrumentation
- ThinkingSphinx instrumentation (W. Andrew Loe III)
- Riak instrumentation (Bryce Kerley)
@@ -12,7 +28,7 @@
- MongoDB instrumentation (Kenn Ejima)
- Yajl instrumentation (Chris Griego)
- UltraSphinx instrumentation (Jonathan Rudenberg)
- Renamed ActiveMQ instrumentation to ActiveMessaging (W. Andrew Loe III)
+ - Renamed ActiveMQ instrumentation to ActiveMessaging (W. Andrew Loe III)
* Version 2.1.5
View
55 README.md
@@ -3,6 +3,46 @@
The `rpm_contrib` gem contains instrumentation for the New Relic RPM agent
contributed by the community of RPM users. It requires the RPM Agent to run.
+## Deprecation of RPM Contrib
+
+Over the next several months we are planning to phase out the rpm_contrib gem.
+We plan to migrate the existing instrumentation into separate projects that
+instrument indivdual libraries or frameworks. We see this as having a number of
+advantages for newrelic users. We will provide a list of recommended
+instrumentation projects.
+
+### Removal of Redis Instrumenation
+
+As of version 2.1.8 Redis instrumentation has been removed from rpm_contrib.
+Please use Evan Phoenix's `newrelic-redis` gem instead.
+https://github.com/evanphx/newrelic-redis
+
+### Request for Maintainers
+
+If you're interested in maintaining instrumentation for a specific
+library/framework, please let us know. We'd love to work with you and promote
+your project. -The New Relic Ruby Agent Team
+
+## New Relic Ruby Agent Plugins
+
+Here is a list of instrumentation projects for various Ruby libraries:
+
+#### Redis
+
+As of version 2.1.8 Redis instrumentation has been removed from rpm_contrib.
+Please use Evan Phoenix's `newrelic-redis` gem instead.
+
+https://github.com/evanphx/newrelic-redis
+
+#### Faraday
+
+Instrumentation for the HTTP client library Faraday is available at:
+
+https://github.com/Viximo/newrelic-faraday
+
+
+## Getting Started
+
To use the rpm_contrib gem, install the `rpm_contrib` gem from rubygems.org.
It will also install the required version of the `newrelic_rpm` gem if it's not
already installed.
@@ -23,9 +63,6 @@ require the rpm_contrib gem:
require 'rubygems'
require 'rpm_contrib'
-When you load the rpm_contrib gem, the `newrelic_rpm` gem will also be
-initialized. No need for a separate require statement for `newrelic_rpm`.
-
In non-Rails frameworks, it's important that the New Relic Agent gets
loaded as late as possible, or that the final initialization hook is called
after all other frameworks have loaded:
@@ -43,6 +80,7 @@ fix the auto-detection logic.
If this does not help then set the `log_level` to `debug` in the `newrelic.yml` file
and examine the `newrelic_agent.log` file for errors after restarting your app.
+
## Supported Frameworks
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
You can disable it with `disable_curb` in your newrelic.yml file.
-## Elastic Search
+### Elastic Search
The gem will instrument ElasticSearch::Client. The metrics should show up in the UI
You can disable it with `disable_elastic_search_instrumentation` in your newrelic.yml file.
-## KyotoTycoon
+### KyotoTycoon
The gem will instrument KyotoTycoon.
@@ -122,11 +160,10 @@ To disable resque, set 'disable_resque' to true in your newrelic.yml file.
### Redis
-Redis instrumentation will record operations as well as `allWeb` and `allOther`
-summary metrics under the `Database/Redis` metric namespace. This instrumentation
-supports Redis versions 1.x and 2.x.
+Redis instrumentation has been removed from rpm_contrib.
-To disable Redis instrumentation, set 'disable_redis' to true in your newrelic.yml file.
+Please use Evan Phoenix's `newrelic-redis` gem instead.
+https://github.com/evanphx/newrelic-redis
### Riak
View
10 lib/rpm_contrib/instrumentation/aws.rb
@@ -13,8 +13,14 @@
executes do
# Instrument connections to the AWS-S3 service
- ::AWS::S3::Connection::Management::ClassMethods.module_eval do
- add_method_tracer :establish_connection!, 'AWS-S3/establish_connection!'
+ if defined?(::AWS::S3::Connection)
+ ::AWS::S3::Connection::Management::ClassMethods.module_eval do
+ add_method_tracer :establish_connection!, 'AWS-S3/establish_connection!'
+ end
+ else #using aws-sdk
+ ::AWS::S3.class_eval do
+ add_method_tracer :initialize, 'AWS-S3/establish_connection!'
+ end
end
# Instrument methods on Bucket
View
4 lib/rpm_contrib/instrumentation/picky.rb
@@ -18,7 +18,7 @@ def self.obfuscate_tokens tokens
@name = :picky
depends_on do
- defined?(::Picky) && !NewRelic::Control.instance['disable_picky']
+ defined?(::Picky::Search) && !NewRelic::Control.instance['disable_picky']
end
executes do
@@ -38,4 +38,4 @@ def execute_with_newrelic_trace *args
alias_method :execute, :execute_with_newrelic_trace
end
end
-end
+end
View
42 lib/rpm_contrib/instrumentation/redis.rb
@@ -1,42 +0,0 @@
-# Redis instrumentation contributed by Ashley Martens of ngmoco
-#
-DependencyDetection.defer do
- @name = :redis
-
- depends_on do
- defined?(::Redis) && !NewRelic::Control.instance['disable_redis']
- end
-
- executes do
- NewRelic::Agent.logger.debug 'Installing Redis instrumentation'
- end
-
- executes do
- ::Redis::Client.class_eval do
-
- include NewRelic::Agent::MethodTracer
-
- def self.redis_call_method
- ::Redis::Client.new.respond_to?(:call) ? :call : :raw_call_command
- end
-
-
- def raw_call_command_with_newrelic_trace *args
- method_name = args[0].is_a?(Array) ? args[0][0] : args[0]
- metrics = ["Database/Redis/#{method_name}",
- (NewRelic::Agent::Instrumentation::MetricFrame.recording_web_transaction? ? 'Database/Redis/allWeb' : 'Database/Redis/allOther')]
- self.class.trace_execution_scoped(metrics) do
- # NewRelic::Control.instance.log.debug("Instrumenting Redis Call[#{method_name}]: #{args[0].inspect}")
- raw_call_command_without_newrelic_trace(*args)
- end
- end
-
- alias_method :raw_call_command_without_newrelic_trace, redis_call_method
- alias_method redis_call_method, :raw_call_command_with_newrelic_trace
-
- end
- end
-end
-
-
-
View
10 lib/rpm_contrib/instrumentation/ripple.rb
@@ -11,7 +11,8 @@
end
executes do
- ::Ripple::Callbacks::InstanceMethods.class_eval do
+ (defined?(::Ripple::Callbacks::InstanceMethods) ?
+ ::Ripple::Callbacks::InstanceMethods : ::Ripple::Callbacks).class_eval do
add_method_tracer :valid?, 'Database/Riak/Ripple/valid?'
end
@@ -20,11 +21,12 @@
add_method_tracer :destroy_all, 'Database/Riak/Ripple/destroy_all'
end
- ::Ripple::Document::Persistence::InstanceMethods.class_eval do
+
+ (defined?(::Ripple::Document::Persistence::InstanceMethods) ?
+ ::Ripple::Document::Persistence::InstanceMethods : ::Ripple::Document::Persistence).class_eval do
add_method_tracer :really_save, 'Database/Riak/Ripple/really_save'
add_method_tracer :reload, 'Database/Riak/Ripple/reload'
- add_method_tracer :delete, 'Database/Riak/Ripple/delete'
- add_method_tracer :destroy, 'Database/Riak/Ripple/destroy'
+ add_method_tracer :destroy!, 'Database/Riak/Ripple/destroy'
add_method_tracer :update_attribute, 'Database/Riak/Ripple/update_attribute'
add_method_tracer :update_attributes, 'Database/Riak/Ripple/update_attributes'
end
View
8 rpm_contrib.gemspec
@@ -5,11 +5,11 @@
Gem::Specification.new do |s|
s.name = "rpm_contrib"
- s.version = "2.1.6"
+ s.version = "2.1.8"
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
s.authors = ["Bill Kayser", "Jon Guymon"]
- s.date = "2011-11-08"
+ s.date = "2012-03-19"
s.description = "Community contributed instrumentation for various frameworks based on\nthe New Relic Ruby monitoring gem newrelic_rpm.\n"
s.email = "support@newrelic.com"
s.extra_rdoc_files = [
@@ -38,9 +38,9 @@ Gem::Specification.new do |s|
"lib/rpm_contrib/instrumentation/elastic_search.rb",
"lib/rpm_contrib/instrumentation/kyototycoon.rb",
"lib/rpm_contrib/instrumentation/mongo.rb",
+ "lib/rpm_contrib/instrumentation/mongoid.rb",
"lib/rpm_contrib/instrumentation/paperclip.rb",
"lib/rpm_contrib/instrumentation/picky.rb",
- "lib/rpm_contrib/instrumentation/redis.rb",
"lib/rpm_contrib/instrumentation/resque.rb",
"lib/rpm_contrib/instrumentation/riak_client.rb",
"lib/rpm_contrib/instrumentation/ripple.rb",
@@ -55,7 +55,7 @@ Gem::Specification.new do |s|
"test/helper.rb",
"test/schema.rb",
"test/test_curb.rb",
- "test/test_redis.rb",
+ "test/test_picky.rb",
"test/test_resque.rb",
"test/test_workling.rb"
]
View
34 test/test_redis.rb
@@ -1,34 +0,0 @@
-require "#{File.dirname(__FILE__)}/helper"
-begin
- require 'redis'
- require 'ruby-debug'
-rescue LoadError
-end
-
-require "#{File.dirname(__FILE__)}/../lib/rpm_contrib/instrumentation/redis"
-
-if defined?(::Redis)
-
-
- class RedisTest < Test::Unit::TestCase
-
- # Called before every test method runs. Can be used
- # to set up fixture information.
- def setup
- # Do nothing
- end
-
- # Called after every test method runs. Can be used to tear
- # down fixture information.
-
- def teardown
- # Do nothing
- end
-
- # Fake test
- def test_fail
-
-
- end
- end
-end
View
6 wireframe-rpm_contrib.gemspec
@@ -5,11 +5,11 @@
Gem::Specification.new do |s|
s.name = "wireframe-rpm_contrib"
- s.version = "2.1.6.2"
+ s.version = "2.1.8.1"
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
s.authors = ["Bill Kayser", "Jon Guymon"]
- s.date = "2012-03-06"
+ s.date = "2012-04-02"
s.description = "Community contributed instrumentation for various frameworks based on\nthe New Relic Ruby monitoring gem newrelic_rpm.\n"
s.email = "support@newrelic.com"
s.extra_rdoc_files = [
@@ -41,7 +41,6 @@ Gem::Specification.new do |s|
"lib/rpm_contrib/instrumentation/mongoid.rb",
"lib/rpm_contrib/instrumentation/paperclip.rb",
"lib/rpm_contrib/instrumentation/picky.rb",
- "lib/rpm_contrib/instrumentation/redis.rb",
"lib/rpm_contrib/instrumentation/resque.rb",
"lib/rpm_contrib/instrumentation/riak_client.rb",
"lib/rpm_contrib/instrumentation/ripple.rb",
@@ -57,7 +56,6 @@ Gem::Specification.new do |s|
"test/schema.rb",
"test/test_curb.rb",
"test/test_picky.rb",
- "test/test_redis.rb",
"test/test_resque.rb",
"test/test_workling.rb"
]

No commit comments for this range

Something went wrong with that request. Please try again.