From 32d820bdc2ccfcd952c6a51e9c40411b2379fb13 Mon Sep 17 00:00:00 2001 From: Sergey Bezugliy Date: Fri, 1 Dec 2023 01:12:42 +0200 Subject: [PATCH 1/3] Replace Webrick with Puma --- lib/sidekiq_prometheus.rb | 20 ++------------------ sidekiq_prometheus.gemspec | 2 +- 2 files changed, 3 insertions(+), 19 deletions(-) diff --git a/lib/sidekiq_prometheus.rb b/lib/sidekiq_prometheus.rb index 99d5a8f..6f16a0d 100644 --- a/lib/sidekiq_prometheus.rb +++ b/lib/sidekiq_prometheus.rb @@ -6,7 +6,7 @@ require "prometheus/middleware/exporter" require "sidekiq" require "sidekiq/api" -require "webrick" +require "rack/handler/puma" begin require "sidekiq/ent" @@ -65,9 +65,6 @@ class << self # @return [Integer] Port on which the metrics server will listen. Default: 9357 attr_accessor :metrics_port - # @return [Boolean] When set to false will silence the metric server access logs. Default: true - attr_accessor :metrics_server_logger_enabled - # Override the default Prometheus::Client # @return [Prometheus::Client] attr_writer :client @@ -87,7 +84,6 @@ class << self self.metrics_server_enabled = true self.metrics_host = "localhost" self.metrics_port = 9359 - self.metrics_server_logger_enabled = true self.custom_labels = {} self.custom_metrics = [] self.init_label_sets = {} @@ -142,13 +138,6 @@ def metrics_server_enabled? metrics_server_enabled end - ## - # Helper method for +metrics_server_logger_enabled+ configuration setting - # @return [Boolean] defaults to true - def metrics_server_logger_enabled? - metrics_server_logger_enabled - end - ## # Get a metric from the registry # @param metric [Symbol] name of metric to fetch @@ -224,13 +213,8 @@ def metrics_server Host: SidekiqPrometheus.metrics_host } - unless metrics_server_logger_enabled? - opts[:Logger] = WEBrick::Log.new("/dev/null") - opts[:AccessLog] = [] - end - @_metrics_server ||= Thread.new do - Rack::Handler::WEBrick.run( + Rack::Handler::Puma.run( Rack::Builder.new { use Prometheus::Middleware::Exporter, registry: SidekiqPrometheus.registry run ->(_) { [301, {"Location" => "/metrics"}, []] } diff --git a/sidekiq_prometheus.gemspec b/sidekiq_prometheus.gemspec index 083e702..36e4f25 100644 --- a/sidekiq_prometheus.gemspec +++ b/sidekiq_prometheus.gemspec @@ -31,5 +31,5 @@ Gem::Specification.new do |spec| spec.add_runtime_dependency "rack", "< 3.0" spec.add_runtime_dependency "redis" spec.add_runtime_dependency "sidekiq", "> 5.1" - spec.add_runtime_dependency "webrick" + spec.add_runtime_dependency "puma" end From 964a410e4dc4797fb103e8a5fb32ab8ba343522b Mon Sep 17 00:00:00 2001 From: Sergey Bezugliy Date: Fri, 1 Dec 2023 01:18:06 +0200 Subject: [PATCH 2/3] Update minor version --- lib/sidekiq_prometheus/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/sidekiq_prometheus/version.rb b/lib/sidekiq_prometheus/version.rb index 1202229..e2e05b1 100644 --- a/lib/sidekiq_prometheus/version.rb +++ b/lib/sidekiq_prometheus/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module SidekiqPrometheus - VERSION = "2.0.1" + VERSION = "2.0.2" end From 838505ea1023e064ece3e10512f8c7b9a1732716 Mon Sep 17 00:00:00 2001 From: Sergey Bezugliy Date: Fri, 1 Dec 2023 01:35:01 +0200 Subject: [PATCH 3/3] Update Rack --- sidekiq_prometheus.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sidekiq_prometheus.gemspec b/sidekiq_prometheus.gemspec index 36e4f25..7d860b7 100644 --- a/sidekiq_prometheus.gemspec +++ b/sidekiq_prometheus.gemspec @@ -28,7 +28,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency "standard" spec.add_runtime_dependency "prometheus-client", ">= 2.0" - spec.add_runtime_dependency "rack", "< 3.0" + spec.add_runtime_dependency "rack", " ~> 3.0" spec.add_runtime_dependency "redis" spec.add_runtime_dependency "sidekiq", "> 5.1" spec.add_runtime_dependency "puma"