rails_riemann_middleware 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,4 @@
1
- require 'riemann/client'
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}\n"
30
- e << exception.backtrace.join("\n")
31
- e[0..8000]
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
@@ -1,3 +1,3 @@
1
1
  module RailsRiemannMiddleware
2
- VERSION = "0.5.0"
2
+ VERSION = "0.5.1"
3
3
  end
@@ -7,7 +7,7 @@ module RailsRiemannMiddleware
7
7
 
8
8
  class Notifier
9
9
  attr_reader :event, :send_durations, :send_exceptions
10
-
10
+
11
11
  def initialize(app, options = {})
12
12
  @app, @options = app, options
13
13
  @send_durations = options.fetch(:send_durations, true)
@@ -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.0
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-06-06 00:00:00.000000000 Z
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: &70318980766960 !ruby/object:Gem::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: *70318980766960
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