Class: Rack::Monitor::Request

Inherits:
Sensor
  • Object
show all
Defined in:
lib/rack/monitor/sensors/request.rb

Constant Summary collapse

STATUS_CODES =
[200, 403, 404]

Instance Method Summary collapse

Methods inherited from Sensor

#before, #collect

Constructor Details

#initializeRequest

Returns a new instance of Request.



5
6
7
8
9
# File 'lib/rack/monitor/sensors/request.rb', line 5

def initialize
  @count = 0
  @status = {}
  (STATUS_CODES+[1,2,3,4,5]).each { |code| @status[code] = 0 }
end

Instance Method Details

#after(env, status, headers, body) ⇒ Object



11
12
13
14
# File 'lib/rack/monitor/sensors/request.rb', line 11

def after(env, status, headers, body)
  @count += 1
  @status[code_group(status)] += 1
end

#measurementsObject



16
17
18
19
20
21
22
23
24
25
# File 'lib/rack/monitor/sensors/request.rb', line 16

def measurements
  m = [['count', 'Total requests', @count]]
  STATUS_CODES.each do |status|
    m << ["status#{status}", "Responses with status #{status}", @status[status]]
  end
  [1,2,3,4,5].each do |status|
    m << ["status#{status}", "Responses with other status #{status}xx", @status[status]]
  end
  m
end