class TsdMetrics::TimerSample

Attributes

duration[R]
unit[R]

Public Class Methods

new(metricStatusSupplier) click to toggle source
# File lib/tsd_metrics/timer_sample.rb, line 19
def initialize(metricStatusSupplier)
  @metricStatusSupplier = metricStatusSupplier
  @startTime = Time.now
  @duration = nil
  @unit = :nanosecond
end

Public Instance Methods

isRunning() click to toggle source

Deprecated: Instead use the more ruby-esque running?

# File lib/tsd_metrics/timer_sample.rb, line 44
def isRunning
  return running?
end
running?() click to toggle source
# File lib/tsd_metrics/timer_sample.rb, line 48
def running?
  return @startTime != nil
end
sampleRepresentation() click to toggle source
# File lib/tsd_metrics/timer_sample.rb, line 61
def sampleRepresentation
  if @unit == :noUnit
    {value: @duration}
  else
    {value: @duration, unit: @unit}
  end
end
set(duration, unit) click to toggle source
# File lib/tsd_metrics/timer_sample.rb, line 56
def set(duration, unit)
  @duration = duration
  @unit = unit
end
stop() click to toggle source
# File lib/tsd_metrics/timer_sample.rb, line 26
def stop
  if @startTime == nil
    TsdMetrics.errorLogger.warn("Stop called on already-stopped Timer sample")
    return
  end
  if @metricStatusSupplier.metricIsClosed
    TsdMetrics.errorLogger.warn("Stop called on Timer after metric has been closed")
    return
  end
  now = Time.now
  diffSecs = now.tv_sec - @startTime.tv_sec
  diffNanoSecs = now.tv_nsec - @startTime.tv_nsec
  diff = ((10**9) * diffSecs) + diffNanoSecs
  @duration = diff
  @startTime = nil
end
stopped?() click to toggle source
# File lib/tsd_metrics/timer_sample.rb, line 52
def stopped?
  return ! running?
end