Sha256: fdb93d49089aa52bb60c5bda5edf1c02e200be9e4160e2dc3bf9a5f601408b5b

Contents?: true

Size: 628 Bytes

Versions: 38

Compression:

Stored size: 628 Bytes

Contents

# frozen_string_literal: true

module PrometheusExporter::Instrumentation
  class Hutch
    def initialize(klass)
      @klass = klass
      @client = PrometheusExporter::Client.default
    end

    def handle(message)
      success = false
      start = ::Process.clock_gettime(::Process::CLOCK_MONOTONIC)
      result = @klass.process(message)
      success = true
      result
    ensure
      duration = ::Process.clock_gettime(::Process::CLOCK_MONOTONIC) - start
      @client.send_json(
        type: "hutch",
        name: @klass.class.to_s,
        success: success,
        duration: duration
      )
    end
  end
end

Version data entries

38 entries across 38 versions & 1 rubygems

Version Path
prometheus_exporter-2.1.1 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-2.1.0 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-2.0.8 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-2.0.7 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-2.0.6 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-2.0.5 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-2.0.4 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-2.0.3 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-2.0.2 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-2.0.1 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-2.0.0 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-1.0.1 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-1.0.0 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-0.8.1 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-0.8.0 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-0.7.0 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-0.6.0 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-0.5.3 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-0.5.2 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-0.5.1 lib/prometheus_exporter/instrumentation/hutch.rb