Sha256: d6714f0438065bdbd71ebcc0d0cf69d8a3e0505b25f109d67148b54b121b751c

Contents?: true

Size: 687 Bytes

Versions: 74

Compression:

Stored size: 687 Bytes

Contents

Puppet::Util::Instrumentation.new_listener(:performance) do

  attr_reader :samples

  def initialize
    @samples = {}
  end

  def notify(label, event, data)
    return if event == :start

    duration = data[:finished] - data[:started]
    @samples[label] ||= { :count => 0, :max => 0, :min => nil, :sum => 0, :average => 0 }
    @samples[label][:count] += 1
    @samples[label][:sum] += duration
    @samples[label][:max] = [ @samples[label][:max], duration ].max
    @samples[label][:min] = [ @samples[label][:min], duration ].reject { |val| val.nil? }.min
    @samples[label][:average] = @samples[label][:sum] / @samples[label][:count]
  end

  def data
    @samples.dup
  end
end

Version data entries

74 entries across 74 versions & 2 rubygems

Version Path
puppet-retrospec-0.12.2 vendor/gems/puppet-3.7.3/lib/puppet/util/instrumentation/listeners/performance.rb
puppet-3.8.7 lib/puppet/util/instrumentation/listeners/performance.rb
puppet-3.8.7-x86-mingw32 lib/puppet/util/instrumentation/listeners/performance.rb
puppet-3.8.7-x64-mingw32 lib/puppet/util/instrumentation/listeners/performance.rb
puppet-3.8.6 lib/puppet/util/instrumentation/listeners/performance.rb
puppet-3.8.6-x86-mingw32 lib/puppet/util/instrumentation/listeners/performance.rb
puppet-retrospec-0.12.1 vendor/gems/puppet-3.7.3/lib/puppet/util/instrumentation/listeners/performance.rb
puppet-3.8.6-x64-mingw32 lib/puppet/util/instrumentation/listeners/performance.rb
puppet-retrospec-0.12.0 vendor/gems/puppet-3.7.3/lib/puppet/util/instrumentation/listeners/performance.rb
puppet-3.8.5 lib/puppet/util/instrumentation/listeners/performance.rb
puppet-3.8.5-x86-mingw32 lib/puppet/util/instrumentation/listeners/performance.rb
puppet-3.8.5-x64-mingw32 lib/puppet/util/instrumentation/listeners/performance.rb
puppet-3.8.4 lib/puppet/util/instrumentation/listeners/performance.rb
puppet-3.8.4-x86-mingw32 lib/puppet/util/instrumentation/listeners/performance.rb
puppet-3.8.4-x64-mingw32 lib/puppet/util/instrumentation/listeners/performance.rb
puppet-retrospec-0.11.0 vendor/gems/puppet-3.7.3/lib/puppet/util/instrumentation/listeners/performance.rb
puppet-retrospec-0.10.0 vendor/gems/puppet-3.7.3/lib/puppet/util/instrumentation/listeners/performance.rb
puppet-retrospec-0.9.1 vendor/gems/puppet-3.7.3/lib/puppet/util/instrumentation/listeners/performance.rb
puppet-retrospec-0.9.0 vendor/gems/puppet-3.7.3/lib/puppet/util/instrumentation/listeners/performance.rb
puppet-retrospec-0.8.1 vendor/gems/puppet-3.7.3/lib/puppet/util/instrumentation/listeners/performance.rb