newrelic-grape 1.1.0 → 1.2.0
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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +9 -4
- data/README.md +30 -3
- data/lib/newrelic-grape/instrument.rb +8 -7
- data/lib/newrelic-grape/version.rb +1 -1
- metadata +11 -23
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 02f6a2ada60979c5610586cd9dc8e7487a01fb01
|
4
|
+
data.tar.gz: e51601ed2e8e904737617023448400471ac698dc
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 80806f481231de638c008d62036d50476114d81d1abfafa87d21a3e8aa2c8132932d536b1e1b147b38ded2a14cb2ff8638b63b4980f6f04c31981252b5b131f0
|
7
|
+
data.tar.gz: c48802c2dd88c985675036c41b46d3f91426eb8ed55e3987b8942e90b11439740e64e3c728bfabdd7ddf5ecd3c431f64bb8a9a8bb9277319ab9203a04d950b2a
|
data/CHANGELOG.md
CHANGED
@@ -1,10 +1,15 @@
|
|
1
|
-
Next Release
|
2
|
-
|
1
|
+
# Next Release
|
2
|
+
|
3
|
+
## 1.2.0 (02/27/2012)
|
4
|
+
|
5
|
+
* Use newrelic-grape middleware before `Grape::Middleware::Error`
|
6
|
+
* Better Readme
|
7
|
+
|
8
|
+
## 1.1.0 (12/28/2012)
|
3
9
|
|
4
10
|
* Changed namespace from `Newrelic` to `NewRelic` to be consistent with the RPM gem - [@dblock](https://github.com/dblock).
|
5
11
|
* Set `DISABLE_NEW_RELIC_GRAPE` to disable instrumentation - [@dblock](https://github.com/dblock).
|
6
12
|
|
7
|
-
1.0.0 (12/18/2012)
|
8
|
-
==================
|
13
|
+
## 1.0.0 (12/18/2012)
|
9
14
|
|
10
15
|
* Initial public release - [@flyerhzm](https://github.com/flyerhzm).
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# NewRelic::Grape
|
2
2
|
|
3
|
-
NewRelic
|
3
|
+
NewRelic instrumentation for the [Grape API DSL][0], inspired by [this blog post][1].
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
@@ -18,12 +18,37 @@ Or install it yourself as:
|
|
18
18
|
|
19
19
|
## Usage
|
20
20
|
|
21
|
-
That's it.
|
21
|
+
Ensure that you have working NewRelic instrumentation. Add the `newrelic-grape` gem. That's it.
|
22
22
|
|
23
23
|
## Disabling Instrumentation
|
24
24
|
|
25
25
|
Set `disable_grape` in `newrelic.yml` or `ENV['DISABLE_NEW_RELIC_GRAPE']` to disable instrumentation.
|
26
26
|
|
27
|
+
## Testing
|
28
|
+
|
29
|
+
This gem naturally works in NewRelic developer mode. For more information see the [NewRelic Developer Documentation][2].
|
30
|
+
|
31
|
+
To ensure instrumentation in tests, check that `perform_action_with_newrelic_trace` is invoked on an instance of `NewRelic::Agent::Instrumentation::Grape` when calling your API.
|
32
|
+
|
33
|
+
### RSpec
|
34
|
+
|
35
|
+
``` ruby
|
36
|
+
describe NewRelic::Agent::Instrumentation::Grape do
|
37
|
+
it "traces" do
|
38
|
+
NewRelic::Agent::Instrumentation::Grape
|
39
|
+
.any_instance
|
40
|
+
.should_receive(:perform_action_with_newrelic_trace)
|
41
|
+
.and_yield
|
42
|
+
get "/ping"
|
43
|
+
response.status.should == 200
|
44
|
+
end
|
45
|
+
end
|
46
|
+
```
|
47
|
+
|
48
|
+
## Demos
|
49
|
+
|
50
|
+
* [Grape on Rack w/ NewRelic Instrumentation Enabled][3]
|
51
|
+
|
27
52
|
## Contributing
|
28
53
|
|
29
54
|
1. Fork it
|
@@ -34,4 +59,6 @@ Set `disable_grape` in `newrelic.yml` or `ENV['DISABLE_NEW_RELIC_GRAPE']` to dis
|
|
34
59
|
6. Create new Pull Request
|
35
60
|
|
36
61
|
[0]: https://github.com/intridea/grape
|
37
|
-
[1]: http://artsy.github.com/blog/2012/11/29/measuring-performance-in-grape-apis-with-new-relic
|
62
|
+
[1]: http://artsy.github.com/blog/2012/11/29/measuring-performance-in-grape-apis-with-new-relic
|
63
|
+
[2]: https://newrelic.com/docs/ruby/developer-mode
|
64
|
+
[3]: https://github.com/dblock/grape-on-rack
|
@@ -30,7 +30,7 @@ module NewRelic
|
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
|
-
DependencyDetection.defer do
|
33
|
+
DependencyDetection.defer do
|
34
34
|
@name = :grape
|
35
35
|
|
36
36
|
depends_on do
|
@@ -42,13 +42,14 @@ DependencyDetection.defer do
|
|
42
42
|
end
|
43
43
|
|
44
44
|
executes do
|
45
|
-
::
|
46
|
-
alias_method :
|
45
|
+
::Rack::Builder.class_eval do
|
46
|
+
alias_method :origin_use, :use
|
47
47
|
|
48
|
-
def
|
49
|
-
|
50
|
-
|
51
|
-
|
48
|
+
def use(middleware, *args, &block)
|
49
|
+
if middleware == Grape::Middleware::Error
|
50
|
+
use ::NewRelic::Agent::Instrumentation::Grape
|
51
|
+
end
|
52
|
+
origin_use(middleware, *args, &block)
|
52
53
|
end
|
53
54
|
end
|
54
55
|
end
|
metadata
CHANGED
@@ -1,46 +1,41 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: newrelic-grape
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
5
|
-
prerelease:
|
4
|
+
version: 1.2.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Richard Huang
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2013-02-27 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: grape
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - '>='
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '0'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: newrelic_rpm
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - '>='
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - '>='
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
description: newrelic instrument for grape
|
@@ -67,33 +62,26 @@ files:
|
|
67
62
|
- spec/spec_helper.rb
|
68
63
|
homepage: https://github.com/flyerhzm/newrelic-grape
|
69
64
|
licenses: []
|
65
|
+
metadata: {}
|
70
66
|
post_install_message:
|
71
67
|
rdoc_options: []
|
72
68
|
require_paths:
|
73
69
|
- lib
|
74
70
|
required_ruby_version: !ruby/object:Gem::Requirement
|
75
|
-
none: false
|
76
71
|
requirements:
|
77
|
-
- -
|
72
|
+
- - '>='
|
78
73
|
- !ruby/object:Gem::Version
|
79
74
|
version: '0'
|
80
|
-
segments:
|
81
|
-
- 0
|
82
|
-
hash: 240126321961022721
|
83
75
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
84
|
-
none: false
|
85
76
|
requirements:
|
86
|
-
- -
|
77
|
+
- - '>='
|
87
78
|
- !ruby/object:Gem::Version
|
88
79
|
version: '0'
|
89
|
-
segments:
|
90
|
-
- 0
|
91
|
-
hash: 240126321961022721
|
92
80
|
requirements: []
|
93
81
|
rubyforge_project:
|
94
|
-
rubygems_version:
|
82
|
+
rubygems_version: 2.0.0
|
95
83
|
signing_key:
|
96
|
-
specification_version:
|
84
|
+
specification_version: 4
|
97
85
|
summary: newrelic instrument for grape
|
98
86
|
test_files:
|
99
87
|
- spec/newrelic-grape/instrumenter_spec.rb
|