newrelic_aws 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 Change.org, Inc
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,25 @@
1
+ # Newrelic::AWS
2
+
3
+ Unofficial [NewRelic](http://newrelic.com/) instrumentation for the [official AWS SDK](http://aws.amazon.com/sdkforruby/).
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'newrelic_aws'
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself with:
16
+
17
+ $ gem install newrelic_aws
18
+
19
+ ## Contributing
20
+
21
+ 1. Fork it
22
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
23
+ 3. Commit your changes (`git commit -am 'Added some feature'`)
24
+ 4. Push to the branch (`git push origin my-new-feature`)
25
+ 5. Create new Pull Request
@@ -0,0 +1,54 @@
1
+ # encoding: utf-8
2
+ require 'new_relic/agent/method_tracer'
3
+
4
+ DependencyDetection.defer do
5
+ @name = :aws
6
+
7
+ executes do
8
+ ::NewRelic::Agent.logger.info 'Installing AWS SDK instrumentation'
9
+ end
10
+
11
+ depends_on do
12
+ # Enough to differentiate it from the namespace-conflicting AWS::S3 commonly in use
13
+ defined?(AWS::Core)
14
+ end
15
+
16
+ executes do
17
+ # We instrument a few AWS::Core::Client methods so we aren't blind to calls that aren't
18
+ # yet specifically instrumented at a higher level.
19
+ AWS::Core::Client.class_eval do
20
+ add_method_tracer :client_request
21
+ add_method_tracer :make_async_request
22
+ add_method_tracer :make_sync_request
23
+ end
24
+
25
+ AWS::S3::Bucket.class_eval do
26
+ add_method_tracer :clear!
27
+ add_method_tracer :delete
28
+ add_method_tracer :delete!
29
+ add_method_tracer :objects
30
+ add_method_tracer :versions
31
+ end
32
+
33
+ AWS::S3::S3Object.class_eval do
34
+ add_method_tracer :read
35
+ add_method_tracer :write
36
+ add_method_tracer :delete
37
+ add_method_tracer :head
38
+ end
39
+
40
+ AWS::SQS::Queue.class_eval do
41
+ add_method_tracer :batch_delete
42
+ add_method_tracer :batch_send
43
+ add_method_tracer :exists?
44
+ add_method_tracer :poll
45
+ add_method_tracer :receive_message
46
+ add_method_tracer :send_message
47
+ end
48
+
49
+ AWS::SimpleEmailService.class_eval do
50
+ add_method_tracer :send_email
51
+ add_method_tracer :send_raw_email
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,3 @@
1
+ module NewrelicAWS
2
+ VERSION = '0.0.2'
3
+ end
@@ -0,0 +1,2 @@
1
+ require "newrelic_aws/instrumentation"
2
+ require "newrelic_aws/version"
metadata ADDED
@@ -0,0 +1,80 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: newrelic_aws
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 0
8
+ - 2
9
+ version: 0.0.2
10
+ platform: ruby
11
+ authors:
12
+ - Kyle VanderBeek
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2013-10-18 00:00:00 -07:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: newrelic_rpm
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 3
29
+ - 5
30
+ - 0
31
+ version: 3.5.0
32
+ type: :runtime
33
+ version_requirements: *id001
34
+ description: Unofficial New Relic Instrumentation for the official AWS SDK
35
+ email:
36
+ - kyle@change.org
37
+ executables: []
38
+
39
+ extensions: []
40
+
41
+ extra_rdoc_files: []
42
+
43
+ files:
44
+ - lib/newrelic_aws/instrumentation.rb
45
+ - lib/newrelic_aws/version.rb
46
+ - lib/newrelic_aws.rb
47
+ - LICENSE
48
+ - README.md
49
+ has_rdoc: true
50
+ homepage: http://github.com/kylev/newrelic_aws
51
+ licenses:
52
+ - MIT
53
+ post_install_message:
54
+ rdoc_options: []
55
+
56
+ require_paths:
57
+ - lib
58
+ required_ruby_version: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ segments:
63
+ - 0
64
+ version: "0"
65
+ required_rubygems_version: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ segments:
70
+ - 0
71
+ version: "0"
72
+ requirements: []
73
+
74
+ rubyforge_project:
75
+ rubygems_version: 1.3.6
76
+ signing_key:
77
+ specification_version: 3
78
+ summary: Unofficial New Relic Instrumentation for the official AWS SDK
79
+ test_files: []
80
+