From 61551e07203d80dd67fd2df1b60c396a30df06b1 Mon Sep 17 00:00:00 2001 From: Nick Griffiths Date: Wed, 3 Apr 2013 23:06:24 +0100 Subject: [PATCH] remove jmx_enabled option that causes memory leak --- lib/jruby-rack-metrics.rb | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/jruby-rack-metrics.rb b/lib/jruby-rack-metrics.rb index b39aea2..cab37f8 100644 --- a/lib/jruby-rack-metrics.rb +++ b/lib/jruby-rack-metrics.rb @@ -13,23 +13,28 @@ module JrubyRackMetrics class Monitor attr_reader :options + def self.start_default_jmx_reporter(metrics_registry=default_metrics_registry) + JmxReporter.startDefault(metrics_registry) + end + + def self.default_metrics_registry + Metrics.defaultRegistry + end + def initialize(app, opts = {}) @app = app @options = default_options.merge(opts) @timing_unit = TimeUnit::NANOSECONDS - if @options[:jmx_enabled] - JmxReporter.startDefault(metrics_registry) - end end def default_options { :default_duration_unit => TimeUnit::MILLISECONDS, :default_rate_unit => TimeUnit::SECONDS, - :jmx_enabled => false } + :metrics_registry => self.class.default_metrics_registry } end def metrics_registry - @options[:metrics_registry] ||= Metrics.defaultRegistry + @options[:metrics_registry] end def call(env = nil)