Sha256: 541cb930944c44b930071bd421de200402130bb586fe981db567547e30435862
Contents?: true
Size: 1.07 KB
Versions: 2
Compression:
Stored size: 1.07 KB
Contents
# # Copyright (c) 2012 Lorenzo Pasqualis - DreamBox Learning, Inc # https://github.com/lpasqualis/rubyperf # module Perf # Simple Perf::Meter factory and singleton management. # Useful to not have to pass around Perf::Meter objects and still be able to generate stats in various parts of # the code. class MeterFactory DEFAULT_METER = :default @@perf_meters=nil # Returns a Perf::Meter with a given key, and creates it lazly if it doesn't exist'. def self.get(key=DEFAULT_METER) @@perf_meters ||= {} @@perf_meters[key] ||= Perf::Meter.new end # Pushes a Perf::Meter into a key def self.set_meter(key,meter) @@perf_meters ||= {} @@perf_meters[key]=meter end # Sets the default meter. def self.set_default(meter) set_meter(DEFAULT_METER,meter) end def self.all @@perf_meters ||= {} return @@perf_meters.clone end def self.clear_meter(key=DEFAULT_METER) @@perf_meters.delete(key) if @@perf_meters end def self.clear_all! @@perf_meters=nil end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rubyperf-1.0.1 | lib/perf/meter_factory.rb |
rubyperf-1.0.0 | lib/perf/meter_factory.rb |