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-0.5.0 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-0.4.17 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-0.4.16 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-0.4.15 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-0.4.14 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-0.4.13 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-0.4.12 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-0.4.11 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-0.4.10 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-0.4.9 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-0.4.8 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-0.4.7 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-0.4.6 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-0.4.5 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-0.4.4 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-0.4.3 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-0.4.2 lib/prometheus_exporter/instrumentation/hutch.rb
prometheus_exporter-0.4.1 lib/prometheus_exporter/instrumentation/hutch.rb