Class: RailsRunner::Minute

Inherits:
Object
  • Object
show all
Includes:
Beefcake::Message
Defined in:
lib/rails_runner/messages/minute.rb

Instance Method Summary collapse

Constructor Details

#initialize(minute = Time.now.to_i) ⇒ Minute

Returns a new instance of Minute.



9
10
11
12
13
14
# File 'lib/rails_runner/messages/minute.rb', line 9

def initialize(minute = Time.now.to_i)
  @minute          = minute
  @errors          = 0
  @endpoints       = {}
  @trace_endpoints = {}
end

Instance Method Details

#add_error(request) ⇒ Object



40
41
42
43
# File 'lib/rails_runner/messages/minute.rb', line 40

def add_error(request)
  return unless request.error?
  endpoint(request.name || 'total').add_error
end

#add_request(request) ⇒ Object



16
17
18
19
20
21
22
# File 'lib/rails_runner/messages/minute.rb', line 16

def add_request(request)
  add_error(request)

  add_time(request)

  add_trace(request)
end

#add_time(request) ⇒ Object



30
31
32
33
34
# File 'lib/rails_runner/messages/minute.rb', line 30

def add_time(request)
  time = rounded(request.duration)
  endpoint(request.name).add_time(time) if request.name.present?
  endpoint('total').add_time(time)
end

#add_trace(request) ⇒ Object



24
25
26
27
28
# File 'lib/rails_runner/messages/minute.rb', line 24

def add_trace(request)
  return if request.traceable?
  return if slower_request_registered?(request)
  @trace_endpoints[request.name] = request
end

#endpointsObject



45
46
47
# File 'lib/rails_runner/messages/minute.rb', line 45

def endpoints
  @endpoints.values
end

#tracesObject



36
37
38
# File 'lib/rails_runner/messages/minute.rb', line 36

def traces
  @trace_endpoints.values
end