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