Class: OneApm::TransactionTimings
- Inherits:
-
Object
- Object
- OneApm::TransactionTimings
- Defined in:
- lib/one_apm/transaction/transaction_timings.rb
Instance Attribute Summary collapse
-
#queue_time_in_seconds ⇒ Object
readonly
Returns the value of attribute queue_time_in_seconds.
-
#start_time_in_seconds ⇒ Object
readonly
Returns the value of attribute start_time_in_seconds.
-
#transaction_name ⇒ Object
readonly
Returns the value of attribute transaction_name.
Instance Method Summary collapse
- #app_time_in_millis ⇒ Object
- #app_time_in_seconds ⇒ Object
- #clamp_to_positive(value) ⇒ Object
-
#convert_to_milliseconds(value_in_seconds) ⇒ Object
Helpers.
-
#initialize(queue_time_in_seconds, start_time_in_seconds, transaction_name) ⇒ TransactionTimings
constructor
A new instance of TransactionTimings.
- #queue_time_in_millis ⇒ Object
- #start_time_as_time ⇒ Object
- #start_time_in_millis ⇒ Object
- #transaction_name_or_unknown ⇒ Object
Constructor Details
#initialize(queue_time_in_seconds, start_time_in_seconds, transaction_name) ⇒ TransactionTimings
Returns a new instance of TransactionTimings.
10 11 12 13 14 15 16 |
# File 'lib/one_apm/transaction/transaction_timings.rb', line 10 def initialize(queue_time_in_seconds, start_time_in_seconds, transaction_name) @now = Time.now.to_f @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) @transaction_name = transaction_name end |
Instance Attribute Details
#queue_time_in_seconds ⇒ Object (readonly)
Returns the value of attribute queue_time_in_seconds.
6 7 8 |
# File 'lib/one_apm/transaction/transaction_timings.rb', line 6 def queue_time_in_seconds @queue_time_in_seconds end |
#start_time_in_seconds ⇒ Object (readonly)
Returns the value of attribute start_time_in_seconds.
6 7 8 |
# File 'lib/one_apm/transaction/transaction_timings.rb', line 6 def start_time_in_seconds @start_time_in_seconds end |
#transaction_name ⇒ Object (readonly)
Returns the value of attribute transaction_name.
6 7 8 |
# File 'lib/one_apm/transaction/transaction_timings.rb', line 6 def transaction_name @transaction_name end |
Instance Method Details
#app_time_in_millis ⇒ Object
34 35 36 |
# File 'lib/one_apm/transaction/transaction_timings.rb', line 34 def app_time_in_millis convert_to_milliseconds(app_time_in_seconds) end |
#app_time_in_seconds ⇒ Object
38 39 40 |
# File 'lib/one_apm/transaction/transaction_timings.rb', line 38 def app_time_in_seconds @now - @start_time_in_seconds end |
#clamp_to_positive(value) ⇒ Object
48 49 50 51 |
# File 'lib/one_apm/transaction/transaction_timings.rb', line 48 def clamp_to_positive(value) return 0.0 if value < 0.0 value end |
#convert_to_milliseconds(value_in_seconds) ⇒ Object
Helpers
44 45 46 |
# File 'lib/one_apm/transaction/transaction_timings.rb', line 44 def convert_to_milliseconds(value_in_seconds) clamp_to_positive((value_in_seconds.to_f * 1000.0).round) end |
#queue_time_in_millis ⇒ Object
30 31 32 |
# File 'lib/one_apm/transaction/transaction_timings.rb', line 30 def queue_time_in_millis convert_to_milliseconds(queue_time_in_seconds) end |
#start_time_as_time ⇒ Object
22 23 24 |
# File 'lib/one_apm/transaction/transaction_timings.rb', line 22 def start_time_as_time Time.at(@start_time_in_seconds) end |
#start_time_in_millis ⇒ Object
26 27 28 |
# File 'lib/one_apm/transaction/transaction_timings.rb', line 26 def start_time_in_millis convert_to_milliseconds(@start_time_in_seconds) end |
#transaction_name_or_unknown ⇒ Object
18 19 20 |
# File 'lib/one_apm/transaction/transaction_timings.rb', line 18 def transaction_name_or_unknown transaction_name || OneApm::Transaction::OA_UNKNOWN_METRIC end |