Sha256: 00871f8e4a75ec7a5ec2370251dae1528dd6f4950b68fc8f3a32a06d28252541

Contents?: true

Size: 741 Bytes

Versions: 214

Compression:

Stored size: 741 Bytes

Contents

require 'puppet/util/profiler/logging'

# A profiler implementation that measures the number of seconds a segment of
# code takes to execute and provides a callback with a string representation of
# the profiling information.
#
# @api private
class Puppet::Util::Profiler::WallClock < Puppet::Util::Profiler::Logging
  def do_start(description, metric_id)
    Timer.new
  end

  def do_finish(context, description, metric_id)
    {:time => context.stop,
     :msg => "took #{context} seconds"}
  end

  class Timer
    FOUR_DECIMAL_DIGITS = '%0.4f'

    def initialize
      @start = Time.now
    end

    def stop
      @time = Time.now - @start
      @time
    end

    def to_s
      format(FOUR_DECIMAL_DIGITS, @time)
    end
  end
end

Version data entries

214 entries across 214 versions & 2 rubygems

Version Path
puppet-retrospec-1.8.0 vendor/pup410/lib/puppet/util/profiler/wall_clock.rb
puppet-retrospec-1.7.0 vendor/pup410/lib/puppet/util/profiler/wall_clock.rb
puppet-4.10.12 lib/puppet/util/profiler/wall_clock.rb
puppet-4.10.12-x86-mingw32 lib/puppet/util/profiler/wall_clock.rb
puppet-4.10.12-x64-mingw32 lib/puppet/util/profiler/wall_clock.rb
puppet-4.10.12-universal-darwin lib/puppet/util/profiler/wall_clock.rb
puppet-4.10.11 lib/puppet/util/profiler/wall_clock.rb
puppet-4.10.11-x86-mingw32 lib/puppet/util/profiler/wall_clock.rb
puppet-4.10.11-x64-mingw32 lib/puppet/util/profiler/wall_clock.rb
puppet-4.10.11-universal-darwin lib/puppet/util/profiler/wall_clock.rb
puppet-4.10.10 lib/puppet/util/profiler/wall_clock.rb
puppet-4.10.10-x86-mingw32 lib/puppet/util/profiler/wall_clock.rb
puppet-4.10.10-x64-mingw32 lib/puppet/util/profiler/wall_clock.rb
puppet-4.10.10-universal-darwin lib/puppet/util/profiler/wall_clock.rb
puppet-retrospec-1.6.1 vendor/pup410/lib/puppet/util/profiler/wall_clock.rb
puppet-retrospec-1.6.0 vendor/pup410/lib/puppet/util/profiler/wall_clock.rb
puppet-4.10.9 lib/puppet/util/profiler/wall_clock.rb
puppet-4.10.9-x86-mingw32 lib/puppet/util/profiler/wall_clock.rb
puppet-4.10.9-x64-mingw32 lib/puppet/util/profiler/wall_clock.rb
puppet-4.10.9-universal-darwin lib/puppet/util/profiler/wall_clock.rb