metriks-middleware 1.2.0 → 1.2.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.
@@ -2,11 +2,10 @@ require 'metriks'
2
2
 
3
3
  module Metriks
4
4
  class Middleware
5
- VERSION = '1.2.0'
5
+ VERSION = '1.2.1'
6
6
 
7
- def initialize(app, options = {})
8
- @app = app
9
- @name = options.fetch :name, 'app'
7
+ def initialize(app)
8
+ @app = app
10
9
  end
11
10
 
12
11
  def call(env)
@@ -33,8 +32,8 @@ module Metriks
33
32
  queue_wait = env['HTTP_X_HEROKU_QUEUE_WAIT_TIME']
34
33
  queue_depth = env['HTTP_X_HEROKU_QUEUE_DEPTH']
35
34
 
36
- Metriks.histogram("#{ @name }.queue.wait") .update(queue_wait.to_i) if queue_wait
37
- Metriks.histogram("#{ @name }.queue.depth").update(queue_depth.to_i) if queue_depth
35
+ Metriks.histogram("queue.wait") .update(queue_wait.to_i) if queue_wait
36
+ Metriks.histogram("queue.depth").update(queue_depth.to_i) if queue_depth
38
37
  end
39
38
 
40
39
  def record_error_rate(env)
@@ -53,14 +52,14 @@ module Metriks
53
52
 
54
53
  def record_error(status)
55
54
  if status >= 500
56
- Metriks.meter("#{ @name }.responses.error").mark
55
+ Metriks.meter("responses.error").mark
57
56
  elsif status == 404
58
- Metriks.meter("#{ @name }.responses.not_found").mark
57
+ Metriks.meter("responses.not_found").mark
59
58
  end
60
59
  end
61
60
 
62
61
  def response_timer
63
- Metriks.timer(@name)
62
+ Metriks.timer('app')
64
63
  end
65
64
  end
66
65
  end
@@ -13,8 +13,8 @@ Gem::Specification.new do |s|
13
13
  ## If your rubyforge_project name is different, then edit it and comment out
14
14
  ## the sub! line in the Rakefile
15
15
  s.name = 'metriks-middleware'
16
- s.version = '1.2.0'
17
- s.date = '2012-07-16'
16
+ s.version = '1.2.1'
17
+ s.date = '2012-09-25'
18
18
 
19
19
  ## Make sure your summary is short. The description may be as long
20
20
  ## as you like.
@@ -79,7 +79,7 @@ class AsyncAppTest < Test::Unit::TestCase
79
79
  Metriks::Middleware.new(success_sync_app).call(@env.dup)
80
80
  Metriks::Middleware.new(success_async_app).call(@env.dup)
81
81
 
82
- errors = Metriks.meter('app.responses.error').count
82
+ errors = Metriks.meter('responses.error').count
83
83
 
84
84
  assert_equal 2, errors
85
85
  end
@@ -102,7 +102,7 @@ class AsyncAppTest < Test::Unit::TestCase
102
102
  Metriks::Middleware.new(success_sync_app).call(@env.dup)
103
103
  Metriks::Middleware.new(success_async_app).call(@env.dup)
104
104
 
105
- not_founds = Metriks.meter('app.responses.not_found').count
105
+ not_founds = Metriks.meter('responses.not_found').count
106
106
 
107
107
  assert_equal 2, not_founds
108
108
  end
@@ -111,8 +111,8 @@ class AsyncAppTest < Test::Unit::TestCase
111
111
  Metriks::Middleware.new(@downstream).call(@env)
112
112
  @async_close.call
113
113
 
114
- wait = Metriks.histogram('app.queue.wait').mean
115
- depth = Metriks.histogram('app.queue.depth').mean
114
+ wait = Metriks.histogram('queue.wait').mean
115
+ depth = Metriks.histogram('queue.depth').mean
116
116
 
117
117
  assert_equal 0, wait
118
118
  assert_equal 0, depth
@@ -124,25 +124,10 @@ class AsyncAppTest < Test::Unit::TestCase
124
124
  Metriks::Middleware.new(@downstream).call(@env)
125
125
  @async_close.call
126
126
 
127
- wait = Metriks.histogram('app.queue.wait').mean
128
- depth = Metriks.histogram('app.queue.depth').mean
127
+ wait = Metriks.histogram('queue.wait').mean
128
+ depth = Metriks.histogram('queue.depth').mean
129
129
 
130
130
  assert_equal 42, wait
131
131
  assert_equal 24, depth
132
132
  end
133
-
134
- def test_name_merics
135
- @env.merge! 'HTTP_X_HEROKU_QUEUE_WAIT_TIME' => '42',
136
- 'HTTP_X_HEROKU_QUEUE_DEPTH' => '24'
137
- Metriks::Middleware.new(@downstream, name: 'metric-name').call(@env)
138
- @async_close.call
139
-
140
- count = Metriks.timer('metric-name').count
141
- wait = Metriks.histogram('metric-name.queue.wait').mean
142
- depth = Metriks.histogram('metric-name.queue.depth').mean
143
-
144
- assert_operator count, :>, 0
145
- assert_operator wait, :>, 0
146
- assert_operator depth, :>, 0
147
- end
148
133
  end
@@ -50,7 +50,7 @@ class SyncAppTest < Test::Unit::TestCase
50
50
  2.times { Metriks::Middleware.new(error_app).call(@env) }
51
51
  Metriks::Middleware.new(@downstream).call(@env)
52
52
 
53
- errors = Metriks.meter('app.responses.error').count
53
+ errors = Metriks.meter('responses.error').count
54
54
 
55
55
  assert_equal 2, errors
56
56
  end
@@ -60,7 +60,7 @@ class SyncAppTest < Test::Unit::TestCase
60
60
  2.times { Metriks::Middleware.new(not_found_app).call(@env) }
61
61
  Metriks::Middleware.new(@downstream).call(@env)
62
62
 
63
- not_founds = Metriks.meter('app.responses.not_found').count
63
+ not_founds = Metriks.meter('responses.not_found').count
64
64
 
65
65
  assert_equal 2, not_founds
66
66
  end
@@ -68,8 +68,8 @@ class SyncAppTest < Test::Unit::TestCase
68
68
  def test_omits_queue_metrics
69
69
  Metriks::Middleware.new(@downstream).call(@env)
70
70
 
71
- wait = Metriks.histogram('app.queue.wait').mean
72
- depth = Metriks.histogram('app.queue.depth').mean
71
+ wait = Metriks.histogram('queue.wait').mean
72
+ depth = Metriks.histogram('queue.depth').mean
73
73
 
74
74
  assert_equal 0, wait
75
75
  assert_equal 0, depth
@@ -80,31 +80,10 @@ class SyncAppTest < Test::Unit::TestCase
80
80
  'HTTP_X_HEROKU_QUEUE_DEPTH' => '24'
81
81
  Metriks::Middleware.new(@downstream).call(@env)
82
82
 
83
- wait = Metriks.histogram('app.queue.wait').mean
84
- depth = Metriks.histogram('app.queue.depth').mean
83
+ wait = Metriks.histogram('queue.wait').mean
84
+ depth = Metriks.histogram('queue.depth').mean
85
85
 
86
86
  assert_equal 42, wait
87
87
  assert_equal 24, depth
88
88
  end
89
-
90
- def test_name_merics
91
- error_app = lambda do |env| [500, {}, ['']] end
92
- not_found_app = lambda do |env| [404, {}, ['']] end
93
- @env.merge! 'HTTP_X_HEROKU_QUEUE_WAIT_TIME' => '42',
94
- 'HTTP_X_HEROKU_QUEUE_DEPTH' => '24'
95
- Metriks::Middleware.new(error_app, name: 'metric-name').call(@env)
96
- Metriks::Middleware.new(not_found_app, name: 'metric-name').call(@env)
97
-
98
- count = Metriks.timer('metric-name').count
99
- errors = Metriks.meter('metric-name.responses.error').count
100
- not_founds = Metriks.meter('metric-name.responses.not_found').count
101
- wait = Metriks.histogram('metric-name.queue.wait').mean
102
- depth = Metriks.histogram('metric-name.queue.depth').mean
103
-
104
- assert_operator count, :>, 0
105
- assert_operator errors, :>, 0
106
- assert_operator not_founds, :>, 0
107
- assert_operator wait, :>, 0
108
- assert_operator depth, :>, 0
109
- end
110
89
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: metriks-middleware
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-16 00:00:00.000000000 Z
12
+ date: 2012-09-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: metriks