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.
@@ -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