Class: GvlMetricsMiddleware::Railtie

Inherits:
Rails::Railtie
  • Object
show all
Defined in:
lib/gvl_metrics_middleware/railtie.rb

Class Method Summary collapse

Class Method Details

.configure_sidekiq_middleware(app_config) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/gvl_metrics_middleware/railtie.rb', line 21

def self.configure_sidekiq_middleware(app_config)
  if defined?(::Sidekiq) && app_config.gvl_metrics_middleware.enabled
    require "gvl_metrics_middleware/sidekiq"

    ::Sidekiq.configure_server do |config|
      config.server_middleware do |chain|
        chain.prepend(GvlMetricsMiddleware::Sidekiq)
      end
    end
  end
end

.setup_safe_guard(app_config) ⇒ Object



33
34
35
36
37
38
39
40
41
# File 'lib/gvl_metrics_middleware/railtie.rb', line 33

def self.setup_safe_guard(app_config)
  if app_config.gvl_metrics_middleware.enabled && app_config.gvl_metrics_middleware.safe_guard
    GvlMetricsMiddleware.on_report_failure.nil? && GvlMetricsMiddleware.on_report_failure do |source, exception|
      Rails.logger.error("GVL Metrics Middleware failed to report metrics from #{source}: #{exception.class} (#{exception.message})")
    end

    GvlMetricsMiddleware.safe_guard = app_config.gvl_metrics_middleware.safe_guard
  end
end