Sha256: fab3abe55ea3deca0f6cce34166fc2f1b204ab5a4bcd105c6f6c7364ef5727b7
Contents?: true
Size: 1.93 KB
Versions: 1
Compression:
Stored size: 1.93 KB
Contents
require File.join(File.dirname(__FILE__), 'time_units') require File.join(File.dirname(__FILE__), 'statistics', 'sample') require File.join(File.dirname(__FILE__), 'statistics', 'uniform_sample') require File.join(File.dirname(__FILE__), 'statistics', 'exponential_sample') require File.join(File.dirname(__FILE__), 'instruments', 'base') require File.join(File.dirname(__FILE__), 'instruments', 'counter') require File.join(File.dirname(__FILE__), 'instruments', 'meter') require File.join(File.dirname(__FILE__), 'instruments', 'gauge') require File.join(File.dirname(__FILE__), 'instruments', 'histogram') require File.join(File.dirname(__FILE__), 'instruments', 'timer') require 'json' module Metrics module Instruments @instruments = {} @types = { :counter => Counter, :meter => Meter, :gauge => Gauge, :exponential_histogram => ExponentialHistogram, :uniform_histogram => UniformHistogram } def self.register(type, name, &block) @instruments[name] = @types[type].new(&block) end def self.unregister_all @instruments = {} end def self.registered @instruments end def self.to_json @instruments.to_json end module TypeMethods def register(type, name, &block) Metrics::Instruments.register(type, name, &block) end def counter(name) register(:counter, name) end def meter(name) register(:meter, name) end def gauge(name, &block) register(:gauge, name, &block) end def uniform_histogram(name) register(:uniform_histogram, name) end # For backwards compatibility alias_method :histogram, :uniform_histogram def exponential_histogram(name) register(:exponential_histogram, name) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ruby-metrics-0.7.0 | lib/ruby-metrics/instruments.rb |