Sha256: 43c24067ba2afb17e5950aaaf52ac120cb8203d7d475c53185d5dfe580b6ea47

Contents?: true

Size: 803 Bytes

Versions: 4

Compression:

Stored size: 803 Bytes

Contents

# frozen_string_literal: true

module Mnemosyne
  module Probes
    module Grape
      module EndpointRunFilters
        class Probe < ::Mnemosyne::Probe
          subscribe 'endpoint_run_filters.grape'

          # rubocop:disable Metrics/ParameterLists
          def call(trace, _name, start, finish, _id, payload)
            start  = ::Mnemosyne::Clock.to_tick(start)
            finish = ::Mnemosyne::Clock.to_tick(finish)

            endpoint = payload[:endpoint]
            return unless endpoint

            span = ::Mnemosyne::Span.new 'app.controller.filter.grape',
              start: start, finish: finish

            trace << span
          end
        end
      end
    end

    register 'Grape::Endpoint',
      'grape/endpoint',
      Grape::EndpointRunFilters::Probe.new
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mnemosyne-ruby-1.0.1 lib/mnemosyne/probes/grape/endpoint_run_filters.rb
mnemosyne-ruby-1.0.0 lib/mnemosyne/probes/grape/endpoint_run_filters.rb
mnemosyne-ruby-0.2.0 lib/mnemosyne/probes/grape/endpoint_run_filters.rb
mnemosyne-ruby-0.1.0 lib/mnemosyne/probes/grape/endpoint_run_filters.rb