rails_riemann_middleware 0.5.0 → 0.5.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.
- data/lib/rails_riemann_middleware/duration.rb +3 -3
- data/lib/rails_riemann_middleware/exception_notification.rb +13 -8
- data/lib/rails_riemann_middleware/headers.rb +25 -0
- data/lib/rails_riemann_middleware/version.rb +1 -1
- data/lib/rails_riemann_middleware.rb +1 -1
- data/specs/duraction_spec.rb +12 -0
- metadata +5 -4
@@ -1,4 +1,4 @@
|
|
1
|
-
require
|
1
|
+
require "rails_riemann_middleware/headers"
|
2
2
|
|
3
3
|
module RailsRiemannMiddleware
|
4
4
|
|
@@ -21,9 +21,9 @@ module RailsRiemannMiddleware
|
|
21
21
|
:service => "#{event.app_prefix} request duration".strip,
|
22
22
|
:state => 'info',
|
23
23
|
:metric => duration,
|
24
|
-
:tags => ["duration"]
|
24
|
+
:tags => ["duration"],
|
25
|
+
:description => Headers.new(env).to_s
|
25
26
|
}
|
26
|
-
# ap msg
|
27
27
|
msg
|
28
28
|
end
|
29
29
|
|
@@ -1,8 +1,10 @@
|
|
1
|
+
require "rails_riemann_middleware/headers"
|
2
|
+
|
1
3
|
module RailsRiemannMiddleware
|
2
|
-
|
4
|
+
|
3
5
|
class ExceptionNotification
|
4
6
|
attr_reader :event, :env, :exception
|
5
|
-
|
7
|
+
|
6
8
|
def initialize(event, env, exception)
|
7
9
|
@event, @env, @exception = event, env, exception
|
8
10
|
end
|
@@ -10,7 +12,7 @@ module RailsRiemannMiddleware
|
|
10
12
|
def send
|
11
13
|
event << message
|
12
14
|
end
|
13
|
-
|
15
|
+
|
14
16
|
def message
|
15
17
|
msg = {
|
16
18
|
:host => env['HTTP_HOST'],
|
@@ -26,11 +28,14 @@ module RailsRiemannMiddleware
|
|
26
28
|
private
|
27
29
|
|
28
30
|
def backtrace
|
29
|
-
e = "#{exception.to_s}
|
30
|
-
e <<
|
31
|
-
e
|
31
|
+
e = ["#{exception.to_s}"]
|
32
|
+
e << "----------------------------------------"
|
33
|
+
e += Headers.new(env).to_a
|
34
|
+
e << "----------------------------------------\n"
|
35
|
+
e += exception.backtrace
|
36
|
+
e.join("\n")[0..8000]
|
32
37
|
end
|
33
|
-
|
38
|
+
|
34
39
|
end
|
35
|
-
|
40
|
+
|
36
41
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module RailsRiemannMiddleware
|
2
|
+
|
3
|
+
class Headers
|
4
|
+
|
5
|
+
attr_reader :env
|
6
|
+
|
7
|
+
def initialize(env)
|
8
|
+
@env = env
|
9
|
+
end
|
10
|
+
|
11
|
+
def keys
|
12
|
+
%w{REQUEST_METHOD REQUEST_URI PATH_INFO HTTP_X_REAL_IP HTTP_USER_AGENT HTTP_REFERER}
|
13
|
+
end
|
14
|
+
|
15
|
+
def to_a
|
16
|
+
keys.map { |h| " #{h.downcase}: #{env.fetch(h, "N/A")}" }
|
17
|
+
end
|
18
|
+
|
19
|
+
def to_s
|
20
|
+
to_a.join("\n")
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
data/specs/duraction_spec.rb
CHANGED
@@ -41,4 +41,16 @@ describe RailsRiemannMiddleware::Duration do
|
|
41
41
|
d.message[:state].must_equal "info"
|
42
42
|
end
|
43
43
|
|
44
|
+
it "should have the REQUEST_METHOD in the description" do
|
45
|
+
@env["REQUEST_METHOD"] = "POST"
|
46
|
+
d = RailsRiemannMiddleware::Duration.new(@event, @env, @start_time)
|
47
|
+
d.message[:description].must_match /request_method: POST/
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should have the REQUEST_URI in the description" do
|
51
|
+
@env["REQUEST_URI"] = "/this/is/uri"
|
52
|
+
d = RailsRiemannMiddleware::Duration.new(@event, @env, @start_time)
|
53
|
+
d.message[:description].must_match /request_uri: \/this\/is\/uri/
|
54
|
+
end
|
55
|
+
|
44
56
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_riemann_middleware
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-07-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: riemann-client
|
16
|
-
requirement: &
|
16
|
+
requirement: &70188642881040 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
version: 0.2.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70188642881040
|
25
25
|
description: Rack middleware for sending data to riemann
|
26
26
|
email:
|
27
27
|
- outtenr@gmail.com
|
@@ -38,6 +38,7 @@ files:
|
|
38
38
|
- lib/rails_riemann_middleware/duration.rb
|
39
39
|
- lib/rails_riemann_middleware/event.rb
|
40
40
|
- lib/rails_riemann_middleware/exception_notification.rb
|
41
|
+
- lib/rails_riemann_middleware/headers.rb
|
41
42
|
- lib/rails_riemann_middleware/version.rb
|
42
43
|
- rails_riemann_middleware.gemspec
|
43
44
|
- specs/duraction_spec.rb
|