Class: Leafy::Metrics::Registry

Inherits:
Object
  • Object
show all
Defined in:
lib/leafy/metrics/registry.rb

Defined Under Namespace

Classes: GaugeWrapper, Timer

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeRegistry

Returns a new instance of Registry.



43
44
45
# File 'lib/leafy/metrics/registry.rb', line 43

def initialize
  @metrics = com.codahale.metrics.MetricRegistry.new
end

Instance Attribute Details

#metricsObject (readonly)

state ofthe registry



41
42
43
# File 'lib/leafy/metrics/registry.rb', line 41

def metrics
  @metrics
end

Instance Method Details

#register_counter(name) ⇒ Java::ComCodahaleMetrics::Counter

register a counter under a given name

Parameters:

  • name (String)

Returns:

  • (Java::ComCodahaleMetrics::Counter)

    counter object which has an ‘inc’ and ‘dec’ method



81
82
83
# File 'lib/leafy/metrics/registry.rb', line 81

def register_counter( name )
  @metrics.counter( name )
end

#register_gauge(name, gauge = nil, &block) ⇒ MetricsRegistry::Gauge

register a gauge under a given name

Parameters:

  • name (String)
  • instead (String)

    of block any gauge object which responds to ‘call’

Yield Returns:

  • (Object)

    can be any object like Fixnum, String, Float

Returns:

  • (MetricsRegistry::Gauge)

    gauge object which has a ‘value’ method to retrieve the current value



53
54
55
56
57
58
59
60
61
62
63
# File '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_histogram(name) ⇒ Java::ComCodahaleMetrics::Counter

register a histogram under a given name

Parameters:

  • name (String)

Returns:

  • (Java::ComCodahaleMetrics::Counter)

    histogram object which has an ‘update’ method



97
98
99
# File 'lib/leafy/metrics/registry.rb', line 97

def register_histogram( name )
  @metrics.histogram( name )
end

#register_meter(name, meter = nil) ⇒ Java::ComCodahaleMetrics::Meter

register a meter under a given name

Parameters:

  • name (String)

Returns:

  • (Java::ComCodahaleMetrics::Meter)

    meter object which has a ‘mark’ method to mark the meter



69
70
71
72
73
74
75
# File 'lib/leafy/metrics/registry.rb', line 69

def register_meter( name, meter = nil )
  if meter
    @metrics.register( name, meter )
  else
    @metrics.meter( name )
  end
end

#register_metric(name, metric) ⇒ Object



101
102
103
# File 'lib/leafy/metrics/registry.rb', line 101

def register_metric( name, metric )
  @metrics.register( name, metric )
end

#register_timer(name) ⇒ Java::ComCodahaleMetrics::Timer

register a timer under a given name

Parameters:

  • name (String)

Returns:

  • (Java::ComCodahaleMetrics::Timer)

    timer object which has an ‘context’ method which starts the timer. the context has a ‘stop’ method to stop it.



89
90
91
# File 'lib/leafy/metrics/registry.rb', line 89

def register_timer( name )
  Timer.new( @metrics.timer( name ) )
end

#remove(name) ⇒ Object



105
106
107
# File 'lib/leafy/metrics/registry.rb', line 105

def remove( name )
  @metrics.remove( name )
end

#reporter_builder(clazz, &block) ⇒ Object



109
110
111
112
113
# File 'lib/leafy/metrics/registry.rb', line 109

def reporter_builder( clazz, &block )
  r = clazz.for_registry( @metrics )
  r.instance_eval( &block ) if block
  r
end