Sha256: 8895071128897dc0e290a154074824da84cd415d03a658b41fc70aa9a1294cc4

Contents?: true

Size: 810 Bytes

Versions: 8

Compression:

Stored size: 810 Bytes

Contents

# frozen_string_literal: true

module Mnemosyne
  module Probes
    module ActiveRecord
      module Query
        class Probe < ::Mnemosyne::Probe
          subscribe 'sql.active_record'

          def call(trace, _name, start, finish, _id, payload)
            return if payload[:name] == 'SCHEMA' || payload[:name] == 'CACHE'

            start  = ::Mnemosyne::Clock.to_tick(start)
            finish = ::Mnemosyne::Clock.to_tick(finish)

            meta = {
              sql: payload[:sql]
            }

            span = ::Mnemosyne::Span.new 'db.query.active_record',
              start: start, finish: finish, meta: meta

            trace << span
          end
        end
      end
    end

    register 'ActiveRecord::Base',
      'active_record',
      ActiveRecord::Query::Probe.new
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
mnemosyne-ruby-1.5.1 lib/mnemosyne/probes/active_record/query.rb
mnemosyne-ruby-1.5.0 lib/mnemosyne/probes/active_record/query.rb
mnemosyne-ruby-1.4.0 lib/mnemosyne/probes/active_record/query.rb
mnemosyne-ruby-1.3.0 lib/mnemosyne/probes/active_record/query.rb
mnemosyne-ruby-1.2.1 lib/mnemosyne/probes/active_record/query.rb
mnemosyne-ruby-1.2.0 lib/mnemosyne/probes/active_record/query.rb
mnemosyne-ruby-1.1.0 lib/mnemosyne/probes/active_record/query.rb
mnemosyne-ruby-1.1.0.rc1 lib/mnemosyne/probes/active_record/query.rb