Module: Metrics

Defined in:
lib/liquid/metrics.rb,
lib/liquid/metrics/reporter.rb,
lib/liquid/metrics/logger_reporter.rb,
lib/liquid/metrics/tracker_reporter.rb

Defined Under Namespace

Classes: LoggerReporter, Reporter, TrackerReporter

Class Method Summary collapse

Class Method Details

.counter(name) ⇒ Object



44
45
46
# File 'lib/liquid/metrics.rb', line 44

def self.counter(name)
  registry.counter(name)
end

.gauge(name, handler) ⇒ Object



40
41
42
# File 'lib/liquid/metrics.rb', line 40

def self.gauge(name, handler)
  registry.register(name, handler)
end

.histogram(name) ⇒ Object



52
53
54
# File 'lib/liquid/metrics.rb', line 52

def self.histogram(name)
  registry.histogram(name)
end

.meter(name) ⇒ Object



48
49
50
# File 'lib/liquid/metrics.rb', line 48

def self.meter(name)
  registry.meter(name)
end

.register_reporter(reporter) ⇒ Object



31
32
33
34
# File 'lib/liquid/metrics.rb', line 31

def self.register_reporter(reporter)
  reporter.start(@period, @unit)
  @reporters << reporter
end

.registryObject



36
37
38
# File 'lib/liquid/metrics.rb', line 36

def self.registry
  @registry
end

.startObject



16
17
18
19
20
21
# File 'lib/liquid/metrics.rb', line 16

def self.start
  @period = $conf.metrics.interval
  @unit = TimeUnit::SECONDS
  JmxReporter.forRegistry(@registry).build.start
  Signal.register_shutdown_handler { stop }
end

.stopObject



23
24
25
26
27
28
29
# File 'lib/liquid/metrics.rb', line 23

def self.stop
  @reporters.each do |reporter|
    reporter.run if reporter.respond_to?(:run)
    reporter.stop
  end
  @reporters.clear
end

.timer(name) ⇒ Object



56
57
58
# File 'lib/liquid/metrics.rb', line 56

def self.timer(name)
  registry.timer(name)
end