class Leafy::Metrics::Registry
Attributes
state ofthe registry
Public Class Methods
# File lib/leafy/metrics/registry.rb, line 39 def initialize @metrics = com.codahale.metrics.MetricRegistry.new end
Public Instance Methods
register a counter under a given name
@param [String] name @return [Java::ComCodahaleMetrics::Counter] counter object which has an 'inc' and 'dec' method
# File lib/leafy/metrics/registry.rb, line 71 def register_counter( name ) @metrics.counter( name ) end
register a gauge under a given name
@param [String] name @param [String] instead of block any gauge object which responds to 'call' @yieldreturn [Object] can be any object like Fixnum, String, Float @return [MetricsRegistry::Gauge] gauge object which has a 'value' method to retrieve the current value
# File lib/leafy/metrics/registry.rb, line 49 def register_gauge( name, gauge = nil, &block ) if gauge and not block_given? and gauge.respond_to? :call @metrics.register( name, Gauge.new( gauge ) ) elsif gauge.nil? and block_given? @metrics.register( name, Gauge.new( block ) ) else raise 'needs either a block and object with call method' end end
register a histogram under a given name
@param [String] name @return [Java::ComCodahaleMetrics::Counter] histogram object which has an 'update' method
# File lib/leafy/metrics/registry.rb, line 87 def register_histogram( name ) @metrics.histogram( name ) end
register a meter under a given name
@param [String] name @return [Java::ComCodahaleMetrics::Meter] meter object which has a 'mark' method to mark the meter
# File lib/leafy/metrics/registry.rb, line 63 def register_meter( name ) @metrics.meter( name ) end
register a timer under a given name
@param [String] name @return [Java::ComCodahaleMetrics::Timer] timer object which has an 'context' method which starts the timer. the context has a 'stop' method to stop it.
# File lib/leafy/metrics/registry.rb, line 79 def register_timer( name ) Timer.new( @metrics.timer( name ) ) end
# File lib/leafy/metrics/registry.rb, line 91 def remove( name ) @metrics.remove( name ) end
# File lib/leafy/metrics/registry.rb, line 95 def reporter_builder( clazz, &block ) r = clazz.for_registry( @metrics ) r.instance_eval( &block ) if block r end