Class: Neetodeploy::Rails::Metrics

Inherits:
Object
  • Object
show all
Defined in:
lib/neetodeploy/autoscale/rails/metrics.rb

Instance Method Summary collapse

Constructor Details

#initialize(env, config = Config.instance) ⇒ Metrics

Returns a new instance of Metrics.



8
9
10
11
12
# File 'lib/neetodeploy/autoscale/rails/metrics.rb', line 8

def initialize(env, config = Config.instance)
  @config = config
  @request_start_header = env["HTTP_X_REQUEST_START"].to_i
  @network_time = env["puma.request_body_wait"].to_i
end

Instance Method Details

#ignore?Boolean

Returns:



14
15
16
# File 'lib/neetodeploy/autoscale/rails/metrics.rb', line 14

def ignore?
  @config.gem_disabled?
end

#queue_timeObject



18
19
20
21
22
23
24
25
26
27
# File 'lib/neetodeploy/autoscale/rails/metrics.rb', line 18

def queue_time
  return if @request_start_header.zero?

  time_now = Time.now.to_f * 1000

  queue_time = (time_now - @request_start_header).round
  queue_time -= @network_time

  queue_time.positive? ? queue_time : nil
end