Sha256: 869df7c347f72f3a4f8edec521b326980031521b9aaa60676acf75ec7f8b72a0

Contents?: true

Size: 881 Bytes

Versions: 1

Compression:

Stored size: 881 Bytes

Contents

module TimeMethod
  class Measurement
    attr_accessor :klass_name, :method_name, :segment, :metadata, :t0, :t1,:time
    def initialize(klass_name:, method_name:, t0:, t1:)
      @klass_name  = klass_name
      @method_name = method_name
      @t0          = t0
      @t1          = t1
      # @time        = runtime_ms
      @time        = runtime_seconds
      store_measurement
    end 

    def store_measurement
      StoreMeasurement.instance.store(klass_name:@klass_name,method_name:@method_name,time:@time)
    end 

    def output_stack
      StoreMeasurement.instance.output_stack
    end 

    def runtime
      @runtime_in_milliseconds ||= ((@t1 - @t0) * 1000).round(2)
    end 

    def runtime_ms
      @runtime_in_milliseconds ||= ((@t1 - @t0) * 1000).round(2)
    end 

    def runtime_seconds
      @runtime_in_seconds ||= (@t1 - @t0).round(2)
    end 
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
time_method-0.1.0 lib/time_method/measurement.rb