Sha256: 45405d8eb690a638aaeaadf829470fc7b3ed5da80882e72833ae3a62be2d16de

Contents?: true

Size: 716 Bytes

Versions: 2

Compression:

Stored size: 716 Bytes

Contents

require 'singleton'

java_import 'com.codahale.metrics.MetricRegistry'
java_import 'com.codahale.metrics.JmxReporter'

require 'liquid/metrics/logger_reporter'

module Metrics

  @@registry = MetricRegistry.new

  def self.start
    reporters = [
      JmxReporter.forRegistry(@@registry).build,
      LoggerReporter.new(@@registry),
    ]
    reporters.each(&:start)
    Signal.register_shutdown_handler { reporters.each(&:stop) }
  end

  def self.registry
    @@registry
  end

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

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

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

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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
liquid-ext-2.0.1 lib/liquid/metrics.rb
liquid-ext-2.0.0 lib/liquid/metrics.rb