wireframe-rpm_contrib 1.0.12.7 → 2.1.6.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.
Files changed (44) hide show
  1. data/CHANGELOG +69 -3
  2. data/Gemfile +13 -0
  3. data/README.md +137 -14
  4. data/Rakefile +5 -3
  5. data/lib/rpm_contrib.rb +17 -24
  6. data/lib/rpm_contrib/agent_compatibility.rb +11 -0
  7. data/lib/rpm_contrib/detection.rb +5 -0
  8. data/lib/rpm_contrib/detection/camping.rb +1 -1
  9. data/lib/rpm_contrib/instrumentation.rb +16 -0
  10. data/lib/rpm_contrib/instrumentation/active_messaging.rb +22 -0
  11. data/lib/rpm_contrib/instrumentation/aws.rb +68 -0
  12. data/lib/rpm_contrib/instrumentation/camping.rb +7 -10
  13. data/lib/rpm_contrib/instrumentation/cassandra.rb +26 -19
  14. data/lib/rpm_contrib/instrumentation/crack.rb +41 -0
  15. data/lib/rpm_contrib/instrumentation/curb.rb +52 -0
  16. data/lib/rpm_contrib/instrumentation/elastic_search.rb +26 -0
  17. data/lib/rpm_contrib/instrumentation/kyototycoon.rb +28 -0
  18. data/lib/rpm_contrib/instrumentation/mongo.rb +54 -0
  19. data/lib/rpm_contrib/instrumentation/mongoid.rb +12 -44
  20. data/lib/rpm_contrib/instrumentation/paperclip.rb +25 -18
  21. data/lib/rpm_contrib/instrumentation/picky.rb +41 -0
  22. data/lib/rpm_contrib/instrumentation/redis.rb +29 -20
  23. data/lib/rpm_contrib/instrumentation/resque.rb +78 -42
  24. data/lib/rpm_contrib/instrumentation/riak_client.rb +48 -0
  25. data/lib/rpm_contrib/instrumentation/ripple.rb +37 -0
  26. data/lib/rpm_contrib/instrumentation/sinatra.rb +30 -0
  27. data/lib/rpm_contrib/instrumentation/thinking_sphinx.rb +22 -0
  28. data/lib/rpm_contrib/instrumentation/typhoeus.rb +33 -0
  29. data/lib/rpm_contrib/instrumentation/ultrasphinx.rb +22 -0
  30. data/lib/rpm_contrib/instrumentation/workling.rb +27 -0
  31. data/lib/rpm_contrib/instrumentation/yajl.rb +41 -0
  32. data/lib/rpm_contrib/language_support.rb +31 -0
  33. data/lib/rpm_contrib/samplers.rb +17 -0
  34. data/test/helper.rb +1 -1
  35. data/test/schema.rb +1 -1
  36. data/test/test_curb.rb +69 -0
  37. data/test/test_picky.rb +55 -0
  38. data/test/test_redis.rb +2 -2
  39. data/test/test_resque.rb +74 -0
  40. data/test/{test_mongoid.rb → test_workling.rb} +6 -14
  41. metadata +74 -64
  42. data/lib/rpm_contrib/detection/resque.rb +0 -15
  43. data/lib/rpm_contrib/instrumentation/aws/s3.rb +0 -56
  44. data/lib/rpm_contrib/instrumentation/mongo_mapper.rb +0 -44
@@ -0,0 +1,41 @@
1
+ DependencyDetection.defer do
2
+ @name = :yajl_parser
3
+
4
+ depends_on do
5
+ defined?(::Yajl::Parser) && !NewRelic::Control.instance['disable_yajl_instrumentation']
6
+ end
7
+
8
+ executes do
9
+ NewRelic::Agent.logger.debug 'Installing Yajl::Parser instrumentation'
10
+ end
11
+
12
+ executes do
13
+ ::Yajl::Parser.class_eval do
14
+ class << self
15
+ include ::NewRelic::Agent::MethodTracer
16
+ add_method_tracer :parse, 'Parser/Yajl/parse'
17
+ end
18
+ end
19
+ end
20
+ end
21
+
22
+ DependencyDetection.defer do
23
+ @name = :yajl_encoder
24
+
25
+ depends_on do
26
+ defined?(::Yajl::Encoder) && !NewRelic::Control.instance['disable_yajl_instrumentation']
27
+ end
28
+
29
+ executes do
30
+ NewRelic::Agent.logger.debug 'Installing Yajl::Encoder instrumentation'
31
+ end
32
+
33
+ executes do
34
+ ::Yajl::Encoder.class_eval do
35
+ class << self
36
+ include ::NewRelic::Agent::MethodTracer
37
+ add_method_tracer :encode, 'Encoder/Yajl/encode'
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,31 @@
1
+ module RPMContrib::LanguageSupport
2
+ extend self
3
+
4
+ @@forkable = nil
5
+
6
+ def can_fork?
7
+ # this is expensive to check, so we should only check once
8
+ return @@forkable if @@forkable != nil
9
+
10
+ if Process.respond_to?(:fork)
11
+ # if this is not 1.9.2 or higher, we have to make sure
12
+ @@forkable = ::RUBY_VERSION < '1.9.2' ? test_forkability : true
13
+ else
14
+ @@forkable = false
15
+ end
16
+
17
+ @@forkable
18
+ end
19
+
20
+ private
21
+
22
+ def test_forkability
23
+ child = Process.fork { exit! }
24
+ # calling wait here doesn't seem like it should necessary, but it seems to
25
+ # resolve some weird edge cases with resque forking.
26
+ Process.wait child
27
+ true
28
+ rescue NotImplementedError
29
+ false
30
+ end
31
+ end
@@ -0,0 +1,17 @@
1
+ module RpmContrib
2
+ # Samplers are subclasses of NewRelic::Agent::Sampler which periodically collect metric data in a
3
+ # background thread. Sampler classes belong in the sampler subdirectory and must be loaded before
4
+ # the agent starts.
5
+ module Samplers
6
+ end
7
+ end
8
+
9
+ pattern = File.expand_path "../samplers/**/*.rb", __FILE__
10
+ Dir.glob pattern do |file|
11
+ begin
12
+ require file.to_s
13
+ rescue Exception => e
14
+ NewRelic::Agent.logger.error "Skipping instrumentation file '#{file}': #{e}"
15
+ NewRelic::Agent.logger.debug e.backtrace.join("\n")
16
+ end
17
+ end
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
  require 'test/unit'
3
3
 
4
4
  $LOAD_PATH.unshift(File.dirname(__FILE__))
5
- #$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
5
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
6
6
 
7
7
  require File.expand_path("../../lib/rpm_contrib.rb", __FILE__)
8
8
 
@@ -4,7 +4,7 @@
4
4
  begin
5
5
  require 'sqlite3'
6
6
  require 'active_record'
7
-
7
+
8
8
  ActiveRecord::Base.establish_connection(:adapter => 'sqlite3', :database => ':memory:')
9
9
  ActiveRecord::Migration.verbose = false
10
10
 
@@ -0,0 +1,69 @@
1
+ require "#{File.dirname(__FILE__)}/helper"
2
+ begin
3
+ require 'curb'
4
+ rescue LoadError
5
+ end
6
+
7
+ class NewRelic::Agent::NetInstrumentationTest < Test::Unit::TestCase
8
+ include NewRelic::Agent::Instrumentation::ControllerInstrumentation
9
+ def setup
10
+ NewRelic::Agent.manual_start
11
+ @engine = NewRelic::Agent.instance.stats_engine
12
+ @engine.clear_stats
13
+ end
14
+ def test_get
15
+ curl = Curl::Easy.new('http://www.google.com/index.html')
16
+ curl.perform
17
+ assert_match /<head>/, curl.body_str
18
+ assert_equal %w[External/www.google.com/Curl::Easy External/Curl::Multi
19
+ External/allOther External/www.google.com/all].sort,
20
+ @engine.metrics.sort
21
+ end
22
+
23
+ def test_multi
24
+ multi = Curl::Multi.new
25
+ curl1 = Curl::Easy.new('http://www.google.com/index.html')
26
+ multi.add curl1
27
+ curl2 = Curl::Easy.new('http://www.yahoo.com/')
28
+ multi.add curl2
29
+ multi.perform
30
+ assert_match /<head>/, curl1.body_str
31
+ assert_match /<head>/, curl2.body_str
32
+ assert_equal %w[External/Curl::Multi External/allOther].sort,
33
+ @engine.metrics.sort
34
+ end
35
+
36
+ def test_background
37
+ perform_action_with_newrelic_trace("task", :category => :task) do
38
+ curl = Curl::Easy.new('http://www.google.com/index.html')
39
+ curl.perform
40
+ assert_match /<head>/, curl.body_str
41
+ end
42
+ assert_equal %w[External/Curl::Multi
43
+ External/Curl::Multi:OtherTransaction/Background/NewRelic::Agent::NetInstrumentationTest/task
44
+ External/www.google.com/Curl::Easy External/allOther External/www.google.com/all
45
+ External/www.google.com/Curl::Easy:OtherTransaction/Background/NewRelic::Agent::NetInstrumentationTest/task].sort,
46
+ @engine.metrics.select{|m| m =~ /^External/}.sort
47
+ end
48
+
49
+ def test_transactional
50
+ perform_action_with_newrelic_trace("task") do
51
+ curl = Curl::Easy.new('http://www.google.com/index.html')
52
+ curl.perform
53
+ assert_match /<head>/, curl.body_str
54
+ end
55
+ assert_equal %w[External/Curl::Multi
56
+ External/Curl::Multi:Controller/NewRelic::Agent::NetInstrumentationTest/task
57
+ External/www.google.com/Curl::Easy External/allWeb External/www.google.com/all
58
+ External/www.google.com/Curl::Easy:Controller/NewRelic::Agent::NetInstrumentationTest/task].sort,
59
+ @engine.metrics.select{|m| m =~ /^External/}.sort
60
+ end
61
+ def test_ignore
62
+ NewRelic::Agent.disable_all_tracing do
63
+ curl = Curl::Easy.new('http://www.google.com/index.html')
64
+ curl.http_post('data')
65
+ end
66
+ assert_equal 0, @engine.metrics.size
67
+ end
68
+
69
+ end if defined? ::Curl::Easy
@@ -0,0 +1,55 @@
1
+ require 'picky'
2
+
3
+ require "#{File.dirname(__FILE__)}/helper"
4
+
5
+ class NewRelic::Agent::PickyIntrumentationTest < Test::Unit::TestCase
6
+
7
+ def tokens_for *tokens
8
+ tokens.map{|t|
9
+ token = 'whatever'
10
+
11
+ token.extend Module.new{
12
+ define_method(:'partial?'){ t[:partial] }
13
+ define_method(:'similar?'){ t[:similar] }
14
+ define_method(:'qualifiers'){ t[:qualifiers] }
15
+ }
16
+
17
+ token
18
+ }
19
+ end
20
+
21
+ def test_obfuscate_tokens
22
+ tokens = tokens_for({})
23
+ assert_equal 'xxx', Picky::NewRelic.obfuscate_tokens(tokens)
24
+
25
+ tokens = tokens_for({:similar => true})
26
+ assert_equal 'xxx~', Picky::NewRelic.obfuscate_tokens(tokens)
27
+
28
+ tokens = tokens_for({:partial => true})
29
+ assert_equal 'xxx*', Picky::NewRelic.obfuscate_tokens(tokens)
30
+
31
+ tokens = tokens_for({:qualifiers => [:haha]})
32
+ assert_equal 'haha:xxx', Picky::NewRelic.obfuscate_tokens(tokens)
33
+
34
+ tokens = tokens_for( {:partial => true}, {:similar => true} )
35
+ assert_equal 'xxx* xxx~', Picky::NewRelic.obfuscate_tokens(tokens)
36
+
37
+ tokens = tokens_for( {:similar => true}, {:partial => true} )
38
+ assert_equal 'xxx* xxx~', Picky::NewRelic.obfuscate_tokens(tokens)
39
+
40
+ tokens = tokens_for( {:partial => true}, {:partial => true} )
41
+ assert_equal 'xxx* xxx*', Picky::NewRelic.obfuscate_tokens(tokens)
42
+
43
+ tokens = tokens_for(
44
+ {:similar => true, :qualifiers => [:bla]},
45
+ {:partial => true, :qualifiers => [:bla, :blub]}
46
+ )
47
+ assert_equal 'bla,blub:xxx* bla:xxx~', Picky::NewRelic.obfuscate_tokens(tokens)
48
+
49
+ tokens = tokens_for(
50
+ {:similar => true, :qualifiers => [:bla]},
51
+ {:partial => true, :qualifiers => [:blub, :bla]}
52
+ )
53
+ assert_equal 'bla,blub:xxx* bla:xxx~', Picky::NewRelic.obfuscate_tokens(tokens)
54
+ end
55
+ end
@@ -8,7 +8,7 @@ end
8
8
  require "#{File.dirname(__FILE__)}/../lib/rpm_contrib/instrumentation/redis"
9
9
 
10
10
  if defined?(::Redis)
11
-
11
+
12
12
 
13
13
  class RedisTest < Test::Unit::TestCase
14
14
 
@@ -27,7 +27,7 @@ if defined?(::Redis)
27
27
 
28
28
  # Fake test
29
29
  def test_fail
30
-
30
+
31
31
 
32
32
  end
33
33
  end
@@ -0,0 +1,74 @@
1
+ require 'resque'
2
+ require 'mocha'
3
+ require File.expand_path(File.dirname(__FILE__) + "/helper")
4
+ require File.expand_path(File.dirname(__FILE__) + "/../lib/rpm_contrib")
5
+
6
+ class ResqueTest < Test::Unit::TestCase
7
+ class ExtendoJorb < ::Resque::Job
8
+ def self.perform
9
+ true
10
+ end
11
+ end
12
+
13
+ class GoodJorb
14
+ def self.perform
15
+ true
16
+ end
17
+ end
18
+
19
+ class BadJorb
20
+ def self.perform
21
+ raise "I'm doing a bad jorb"
22
+ end
23
+ end
24
+
25
+ def setup
26
+ @worker = Resque::Worker.new(:test)
27
+ NewRelic::Agent.manual_start
28
+ @engine = NewRelic::Agent.instance.stats_engine
29
+ end
30
+
31
+ def teardown
32
+ @engine.clear_stats
33
+ end
34
+
35
+ def test_should_instrument_job_extending_from_resque_job
36
+ @worker.perform(Resque::Job.new(:test,
37
+ 'class' => 'ResqueTest::ExtendoJorb'))
38
+
39
+ metrics = [ 'OtherTransaction/all', 'OtherTransaction/ResqueJob/all',
40
+ 'OtherTransaction/ResqueJob/ResqueTest::ExtendoJorb/perform' ]
41
+ metrics.each do |metric|
42
+ assert(@engine.metrics.include?(metric),
43
+ "#{@engine.metrics.inspect} missing #{metric}")
44
+ end
45
+ assert !@engine.metrics.include?('Errors/all')
46
+ end
47
+
48
+ def test_should_instrument_poro_job
49
+ @worker.perform(Resque::Job.new(:test, 'class' => 'ResqueTest::GoodJorb'))
50
+
51
+ metrics = [ 'OtherTransaction/all', 'OtherTransaction/ResqueJob/all',
52
+ 'OtherTransaction/ResqueJob/ResqueTest::GoodJorb/perform' ]
53
+ metrics.each do |metric|
54
+ assert(@engine.metrics.include?(metric),
55
+ "#{@engine.metrics.inspect} missing #{metric}")
56
+ end
57
+ assert !@engine.metrics.include?('Errors/all')
58
+ end
59
+
60
+ def test_should_collect_job_errors
61
+ begin
62
+ @worker.perform(Resque::Job.new(:test, 'class' => 'ResqueTest::BadJorb'))
63
+ rescue
64
+ end
65
+
66
+ metrics = [ 'OtherTransaction/all', 'OtherTransaction/ResqueJob/all',
67
+ 'OtherTransaction/ResqueJob/ResqueTest::BadJorb/perform',
68
+ 'Errors/all' ]
69
+ metrics.each do |metric|
70
+ assert(@engine.metrics.include?(metric),
71
+ "#{@engine.metrics.inspect} missing #{metric}")
72
+ end
73
+ end
74
+ end
@@ -1,24 +1,16 @@
1
1
  require "#{File.dirname(__FILE__)}/helper"
2
2
  begin
3
- require 'mongoid'
3
+ require 'redis'
4
+ require 'ruby-debug'
4
5
  rescue LoadError
5
6
  end
6
7
 
7
- require "#{File.dirname(__FILE__)}/../lib/rpm_contrib/instrumentation/mongoid"
8
+ require "#{File.dirname(__FILE__)}/../lib/rpm_contrib/instrumentation/workling"
8
9
 
9
- if defined?(::Mongoid)
10
-
11
- Mongoid.configure do |config|
12
- config.master = Mongo::Connection.new.db('animals')
13
- end
14
-
15
- class Dog
16
- include Mongoid::Document
10
+ if defined?(::Workling)
17
11
 
18
- field :name
19
- end
20
12
 
21
- class MongoidTest < Test::Unit::TestCase
13
+ class WorklingTest < Test::Unit::TestCase
22
14
 
23
15
  # Called before every test method runs. Can be used
24
16
  # to set up fixture information.
@@ -35,7 +27,7 @@ if defined?(::Mongoid)
35
27
 
36
28
  # Fake test
37
29
  def test_fail
38
- Dog.create!(:name=>'rover')
30
+
39
31
 
40
32
  end
41
33
  end
metadata CHANGED
@@ -1,116 +1,126 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: wireframe-rpm_contrib
3
- version: !ruby/object:Gem::Version
4
- hash: 97
5
- prerelease: false
6
- segments:
7
- - 1
8
- - 0
9
- - 12
10
- - 7
11
- version: 1.0.12.7
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.1.6.1
5
+ prerelease:
12
6
  platform: ruby
13
- authors:
7
+ authors:
14
8
  - Bill Kayser
9
+ - Jon Guymon
15
10
  autorequire:
16
11
  bindir: bin
17
12
  cert_chain: []
18
-
19
- date: 2010-10-04 00:00:00 -05:00
20
- default_executable:
21
- dependencies:
22
- - !ruby/object:Gem::Dependency
13
+ date: 2012-03-06 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
23
16
  name: newrelic_rpm
17
+ requirement: &2164674940 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: 3.1.1
23
+ type: :runtime
24
24
  prerelease: false
25
- requirement: &id001 !ruby/object:Gem::Requirement
25
+ version_requirements: *2164674940
26
+ - !ruby/object:Gem::Dependency
27
+ name: newrelic_rpm
28
+ requirement: &2164674200 !ruby/object:Gem::Requirement
26
29
  none: false
27
- requirements:
28
- - - ">="
29
- - !ruby/object:Gem::Version
30
- hash: 57
31
- segments:
32
- - 2
33
- - 13
34
- - 1
35
- version: 2.13.1
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: 3.1.1
36
34
  type: :runtime
37
- version_requirements: *id001
38
- description: |
39
- Community contributed instrumentation for various frameworks based on
35
+ prerelease: false
36
+ version_requirements: *2164674200
37
+ description: ! 'Community contributed instrumentation for various frameworks based
38
+ on
39
+
40
40
  the New Relic Ruby monitoring gem newrelic_rpm.
41
41
 
42
+ '
42
43
  email: support@newrelic.com
43
44
  executables: []
44
-
45
45
  extensions: []
46
-
47
- extra_rdoc_files:
46
+ extra_rdoc_files:
48
47
  - CHANGELOG
49
48
  - LICENSE
50
49
  - README.md
51
- files:
50
+ files:
52
51
  - CHANGELOG
52
+ - Gemfile
53
53
  - LICENSE
54
54
  - README.md
55
55
  - Rakefile
56
56
  - lib/new_relic/control/camping.rb
57
57
  - lib/rpm_contrib.rb
58
+ - lib/rpm_contrib/agent_compatibility.rb
59
+ - lib/rpm_contrib/detection.rb
58
60
  - lib/rpm_contrib/detection/camping.rb
59
- - lib/rpm_contrib/detection/resque.rb
60
- - lib/rpm_contrib/instrumentation/aws/s3.rb
61
+ - lib/rpm_contrib/instrumentation.rb
62
+ - lib/rpm_contrib/instrumentation/active_messaging.rb
63
+ - lib/rpm_contrib/instrumentation/aws.rb
61
64
  - lib/rpm_contrib/instrumentation/camping.rb
62
65
  - lib/rpm_contrib/instrumentation/cassandra.rb
63
- - lib/rpm_contrib/instrumentation/mongo_mapper.rb
66
+ - lib/rpm_contrib/instrumentation/crack.rb
67
+ - lib/rpm_contrib/instrumentation/curb.rb
68
+ - lib/rpm_contrib/instrumentation/elastic_search.rb
69
+ - lib/rpm_contrib/instrumentation/kyototycoon.rb
70
+ - lib/rpm_contrib/instrumentation/mongo.rb
64
71
  - lib/rpm_contrib/instrumentation/mongoid.rb
65
72
  - lib/rpm_contrib/instrumentation/paperclip.rb
73
+ - lib/rpm_contrib/instrumentation/picky.rb
66
74
  - lib/rpm_contrib/instrumentation/redis.rb
67
75
  - lib/rpm_contrib/instrumentation/resque.rb
76
+ - lib/rpm_contrib/instrumentation/riak_client.rb
77
+ - lib/rpm_contrib/instrumentation/ripple.rb
78
+ - lib/rpm_contrib/instrumentation/sinatra.rb
79
+ - lib/rpm_contrib/instrumentation/thinking_sphinx.rb
80
+ - lib/rpm_contrib/instrumentation/typhoeus.rb
81
+ - lib/rpm_contrib/instrumentation/ultrasphinx.rb
82
+ - lib/rpm_contrib/instrumentation/workling.rb
83
+ - lib/rpm_contrib/instrumentation/yajl.rb
84
+ - lib/rpm_contrib/language_support.rb
85
+ - lib/rpm_contrib/samplers.rb
68
86
  - test/helper.rb
69
87
  - test/schema.rb
70
- - test/test_mongoid.rb
88
+ - test/test_curb.rb
89
+ - test/test_picky.rb
71
90
  - test/test_redis.rb
72
- has_rdoc: true
91
+ - test/test_resque.rb
92
+ - test/test_workling.rb
73
93
  homepage: http://github.com/newrelic/rpm_contrib
74
94
  licenses: []
75
-
76
95
  post_install_message:
77
- rdoc_options:
78
- - --charset=UTF-8
96
+ rdoc_options:
79
97
  - --line-numbers
80
98
  - --inline-source
81
99
  - --title
82
100
  - Contributed Instrumentation for New Relic RPM
83
101
  - -m
84
102
  - README.md
85
- require_paths:
103
+ require_paths:
86
104
  - lib
87
- required_ruby_version: !ruby/object:Gem::Requirement
105
+ required_ruby_version: !ruby/object:Gem::Requirement
88
106
  none: false
89
- requirements:
90
- - - ">="
91
- - !ruby/object:Gem::Version
92
- hash: 3
93
- segments:
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ segments:
94
112
  - 0
95
- version: "0"
96
- required_rubygems_version: !ruby/object:Gem::Requirement
113
+ hash: 173223078226701245
114
+ required_rubygems_version: !ruby/object:Gem::Requirement
97
115
  none: false
98
- requirements:
99
- - - ">="
100
- - !ruby/object:Gem::Version
101
- hash: 3
102
- segments:
103
- - 0
104
- version: "0"
116
+ requirements:
117
+ - - ! '>='
118
+ - !ruby/object:Gem::Version
119
+ version: '0'
105
120
  requirements: []
106
-
107
121
  rubyforge_project:
108
- rubygems_version: 1.3.7
122
+ rubygems_version: 1.8.15
109
123
  signing_key:
110
124
  specification_version: 3
111
125
  summary: Contributed Instrumentation for New Relic RPM
112
- test_files:
113
- - test/helper.rb
114
- - test/schema.rb
115
- - test/test_mongoid.rb
116
- - test/test_redis.rb
126
+ test_files: []