rack-graphite 1.1.0 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rack/graphite.rb +4 -3
- data/lib/rack/graphite/version.rb +1 -1
- data/spec/graphite_spec.rb +12 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2ee3b228c46d4e023d898ca8240bcd0bccde1782
|
4
|
+
data.tar.gz: 13326a994a12e4a8ae0d2274d182c82343928807
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4c4ecafcee5fb8966f595dbf48b17858defb04f2bd5a95699cf0bf5dd2a0dfb9629b9c82bf84d5e7ade83ea5d45733a3e52c7fd132ab0b8b3e0ddc3e372a341e
|
7
|
+
data.tar.gz: 2de42823be00cecbc9cc038b06b8e68e4fe797f5b99526d96c2203aaa494b289b1c1eb858c2f83be54bd9de29e78e3c48dad9b27b0b2336b3e41abf2a8a54217
|
data/lib/rack/graphite.rb
CHANGED
@@ -18,11 +18,12 @@ module Rack
|
|
18
18
|
method = env['REQUEST_METHOD'] || 'GET'
|
19
19
|
metric = path_to_graphite(method, path)
|
20
20
|
|
21
|
-
|
21
|
+
status, headers, body = nil
|
22
22
|
Statsd.instance.timing(metric) do
|
23
|
-
|
23
|
+
status, headers, body = @app.call(env)
|
24
24
|
end
|
25
|
-
|
25
|
+
Statsd.instance.increment("#{metric}.response.#{status}")
|
26
|
+
return status, headers, body
|
26
27
|
end
|
27
28
|
|
28
29
|
def path_to_graphite(method, path)
|
data/spec/graphite_spec.rb
CHANGED
@@ -77,11 +77,15 @@ describe Rack::Graphite do
|
|
77
77
|
|
78
78
|
context 'with a fake app' do
|
79
79
|
let(:app) { double('Mock Rack App') }
|
80
|
+
let(:status) { 200 }
|
81
|
+
let(:headers) { {:foo => 'bar' } }
|
82
|
+
let(:response) { double('Mock Response') }
|
80
83
|
subject(:middleware) { described_class.new(app) }
|
81
84
|
|
82
85
|
before :each do
|
83
86
|
# Stub out timing by default to and just yield
|
84
87
|
statsd.stub(:timing).and_yield
|
88
|
+
statsd.stub(:increment)
|
85
89
|
end
|
86
90
|
|
87
91
|
describe '#call' do
|
@@ -89,7 +93,7 @@ describe Rack::Graphite do
|
|
89
93
|
|
90
94
|
before :each do
|
91
95
|
# Stub out by default for all tests
|
92
|
-
app.stub(:call)
|
96
|
+
app.stub(:call).and_return([status, headers, response])
|
93
97
|
end
|
94
98
|
|
95
99
|
it 'should propogate the invocation to the app' do
|
@@ -97,10 +101,11 @@ describe Rack::Graphite do
|
|
97
101
|
middleware.call(env)
|
98
102
|
end
|
99
103
|
|
104
|
+
it 'should return response of the app' do
|
105
|
+
end
|
106
|
+
|
100
107
|
it 'should return the result of the propogated app.call' do
|
101
|
-
|
102
|
-
app.should_receive(:call).and_return(result)
|
103
|
-
expect(middleware.call({})).to eql(result)
|
108
|
+
expect(middleware.call(env)).to eql([status, headers, response])
|
104
109
|
end
|
105
110
|
|
106
111
|
it 'should invoke a timer' do
|
@@ -118,6 +123,7 @@ describe Rack::Graphite do
|
|
118
123
|
context 'with a root request' do
|
119
124
|
before :each do
|
120
125
|
statsd.should_receive(:timing).with('requests.get.root').and_yield
|
126
|
+
statsd.should_receive(:increment).with('requests.get.root.response.200')
|
121
127
|
get '/'
|
122
128
|
end
|
123
129
|
its(:status) { should eql(200) }
|
@@ -126,6 +132,7 @@ describe Rack::Graphite do
|
|
126
132
|
context 'with a request with query params' do
|
127
133
|
before :each do
|
128
134
|
statsd.should_receive(:timing).with('requests.get.onelevel').and_yield
|
135
|
+
statsd.should_receive(:increment).with('requests.get.onelevel.response.200')
|
129
136
|
get '/onelevel?q=foo'
|
130
137
|
end
|
131
138
|
its(:status) { should eql(200) }
|
@@ -134,6 +141,7 @@ describe Rack::Graphite do
|
|
134
141
|
context 'with a PUT request' do
|
135
142
|
before :each do
|
136
143
|
statsd.should_receive(:timing).with('requests.put.onelevel').and_yield
|
144
|
+
statsd.should_receive(:increment).with('requests.put.onelevel.response.200')
|
137
145
|
put '/onelevel'
|
138
146
|
end
|
139
147
|
its(:status) { should eql(200) }
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-graphite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- R. Tyler Croy
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2014-10-
|
12
|
+
date: 2014-10-27 00:00:00 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|