Sha256: 55673e82d7b5821b8d31e6d31fa4949c0d02a1e19ae1f68b003000e94dbbc5dc
Contents?: true
Size: 904 Bytes
Versions: 20
Compression:
Stored size: 904 Bytes
Contents
# frozen_string_literal: true class Puppet::Util::Profiler::Logging def initialize(logger, identifier) @logger = logger @identifier = identifier @sequence = Sequence.new end def start(description, metric_id) @sequence.next @sequence.down do_start(description, metric_id) end def finish(context, description, metric_id) profile_explanation = do_finish(context, description, metric_id)[:msg] @sequence.up @logger.call("PROFILE [#{@identifier}] #{@sequence} #{description}: #{profile_explanation}") end def shutdown() # nothing to do end class Sequence INITIAL = 0 SEPARATOR = '.' def initialize @elements = [INITIAL] end def next @elements[-1] += 1 end def down @elements << INITIAL end def up @elements.pop end def to_s @elements.join(SEPARATOR) end end end
Version data entries
20 entries across 20 versions & 1 rubygems