class Leafy::Metrics::Registry
Attributes
state ofthe registry
Public Class Methods
# File leafy-metrics/lib/leafy/metrics/registry.rb, line 43 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 leafy-metrics/lib/leafy/metrics/registry.rb, line 77 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 leafy-metrics/lib/leafy/metrics/registry.rb, line 53 def register_gauge( name, gauge = nil, &block ) if gauge and not block_given? and gauge.respond_to? :call @metrics.register( name, GaugeWrapper.new( gauge ) ) elsif gauge and not block_given? and gauge.kind_of? com.codahale.metrics.Gauge @metrics.register( name, gauge ) elsif gauge.nil? and block_given? @metrics.register( name, GaugeWrapper.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 leafy-metrics/lib/leafy/metrics/registry.rb, line 93 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 leafy-metrics/lib/leafy/metrics/registry.rb, line 69 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 leafy-metrics/lib/leafy/metrics/registry.rb, line 85 def register_timer( name ) Timer.new( @metrics.timer( name ) ) end
# File leafy-metrics/lib/leafy/metrics/registry.rb, line 97 def remove( name ) @metrics.remove( name ) end
# File leafy-metrics/lib/leafy/metrics/registry.rb, line 101 def reporter_builder( clazz, &block ) r = clazz.for_registry( @metrics ) r.instance_eval( &block ) if block r end