class TingYun::Agent::TransactionTimings

Attributes

queue_time_in_seconds[R]
start_time_in_seconds[R]
timings[R]

Public Class Methods

new(queue_time_in_seconds, start_time_in_seconds) click to toggle source
# File lib/ting_yun/agent/transaction/transaction_timings.rb, line 11
def initialize(queue_time_in_seconds, start_time_in_seconds)
  @queue_time_in_seconds = clamp_to_positive(queue_time_in_seconds.to_f)
  @start_time_in_seconds = clamp_to_positive(start_time_in_seconds.to_f)

  @timings = TingYun::Agent::TransactionTimings::Timings.new(0.0, 0.0, 0.0, 0.0, 0.0)
end

Public Instance Methods

app_execute_duration() click to toggle source
# File lib/ting_yun/agent/transaction/transaction_timings.rb, line 50
def app_execute_duration
  app_time_in_millis - queue_time_in_millis - sql_duration - external_duration - rds_duration - mon_duration - mc_duration
end
app_time_in_millis() click to toggle source
# File lib/ting_yun/agent/transaction/transaction_timings.rb, line 42
def app_time_in_millis
  convert_to_milliseconds(app_time_in_seconds)
end
app_time_in_seconds() click to toggle source
# File lib/ting_yun/agent/transaction/transaction_timings.rb, line 46
def app_time_in_seconds
  Time.now.to_f - @start_time_in_seconds
end
clamp_to_positive(value) click to toggle source
# File lib/ting_yun/agent/transaction/transaction_timings.rb, line 64
def clamp_to_positive(value)
  return 0.0 if value < 0.0
  value
end
convert_to_milliseconds(value_in_seconds) click to toggle source
# File lib/ting_yun/agent/transaction/transaction_timings.rb, line 60
def convert_to_milliseconds(value_in_seconds)
  clamp_to_positive((value_in_seconds.to_f * 1000.0).round)
end
queue_time_in_millis() click to toggle source
# File lib/ting_yun/agent/transaction/transaction_timings.rb, line 38
def queue_time_in_millis
  convert_to_milliseconds(queue_time_in_seconds)
end
slow_action_tracer?() click to toggle source

Helpers

# File lib/ting_yun/agent/transaction/transaction_timings.rb, line 56
def slow_action_tracer?
  return app_time_in_millis > TingYun::Agent.config[:'action_tracer.action_thresholdaction_tracer.action_threshold']
end
start_time_as_time() click to toggle source
# File lib/ting_yun/agent/transaction/transaction_timings.rb, line 30
def start_time_as_time
  Time.at(@start_time_in_seconds)
end
start_time_in_millis() click to toggle source
# File lib/ting_yun/agent/transaction/transaction_timings.rb, line 34
def start_time_in_millis
  convert_to_milliseconds(@start_time_in_seconds)
end