Sha256: 997a1dff99ae6ad749a1f797f4c1d966e99cc8c174678bb577f8c44add9f880a

Contents?: true

Size: 626 Bytes

Versions: 6

Compression:

Stored size: 626 Bytes

Contents

require 'active_support/notifications'

ActiveSupport::Notifications.subscribe(/\.active_record$/) do |event, started, finished, _, payload|

  binds =
    (payload[:binds] || []).map do |column, value|
      if column
        if column.binary?
          value = "<#{value.bytesize} bytes of binary data>"
        end
        [column.name, value]
      else
        [nil, value]
      end
    end.inspect

  payload = {
    sql:      payload[:sql],
    binds:    binds,
    name:     payload[:name],
    duration: payload[:duration]
  }

  Vx::Instrumentation.delivery event, payload, event.split("."), started, finished
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
vx-instrumentation-0.1.8 lib/vx/instrumentation/probe/active_record.rb
vx-instrumentation-0.1.7 lib/vx/instrumentation/probe/active_record.rb
vx-instrumentation-0.1.6 lib/vx/instrumentation/probe/active_record.rb
vx-instrumentation-0.1.5 lib/vx/instrumentation/probe/active_record.rb
vx-instrumentation-0.1.4 lib/vx/instrumentation/probe/active_record.rb
vx-instrumentation-0.1.3 lib/vx/instrumentation/probe/active_record.rb