Sha256: ac3c81935ed31be343ecf9787beba753fbe0d8ffbf8513b32aab6ab72de9e49f

Contents?: true

Size: 628 Bytes

Versions: 5

Compression:

Stored size: 628 Bytes

Contents

module NewrelicSidekiqMetrics
  class Recorder
    attr_reader :metrics

    def initialize
      @metrics = NewrelicSidekiqMetrics.used_metrics
    end

    def call
      metrics.each { |m| record_metric(m) }
    end

    private

    def stats
      @stats ||= Sidekiq::Stats.new
    end

    def get_stat(name)
      return 0 if NewrelicSidekiqMetrics.inline_sidekiq?
      stats.public_send(name)
    end

    def record_metric(name)
      NewRelic::Agent.record_metric(metric_full_name(name), get_stat(name))
    end

    def metric_full_name(name)
      File.join(METRIC_PREFIX, METRIC_MAP.fetch(name))
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
newrelic-sidekiq-metrics-1.4.0 lib/newrelic_sidekiq_metrics/recorder.rb
newrelic-sidekiq-metrics-1.3.1 lib/newrelic_sidekiq_metrics/recorder.rb
newrelic-sidekiq-metrics-1.3.0 lib/newrelic_sidekiq_metrics/recorder.rb
newrelic-sidekiq-metrics-1.3.0.rc lib/newrelic_sidekiq_metrics/recorder.rb
newrelic-sidekiq-metrics-1.2.0 lib/newrelic_sidekiq_metrics/recorder.rb