Module: Puppet::Util::Profiler

Defined in:
lib/puppet/util/profiler.rb

Overview

A simple profiling callback system.

Defined Under Namespace

Classes: Aggregate, AroundProfiler, Logging, ObjectCounts, WallClock

Class Method Summary collapse

Class Method Details

.add_profiler(profiler) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.


29
30
31
# File 'lib/puppet/util/profiler.rb', line 29

def self.add_profiler(profiler)
  @profiler.add_profiler(profiler)
end

.clearObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Reset the profiling system to the original state


16
17
18
# File 'lib/puppet/util/profiler.rb', line 16

def self.clear
  @profiler.clear
end

.currentObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Retrieve the current list of profilers


23
24
25
# File 'lib/puppet/util/profiler.rb', line 23

def self.current
  @profiler.current
end

.profile(message, metric_id, &block) ⇒ Object

Profile a block of code and log the time it took to execute.

This outputs logs entries to the Puppet masters logging destination providing the time it took, a message describing the profiled code and a leaf location marking where the profile method was called in the profiled hierarchy.


50
51
52
# File 'lib/puppet/util/profiler.rb', line 50

def self.profile(message, metric_id, &block)
  @profiler.profile(message, metric_id, &block)
end

.remove_profiler(profiler) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.


35
36
37
# File 'lib/puppet/util/profiler.rb', line 35

def self.remove_profiler(profiler)
  @profiler.remove_profiler(profiler)
end