Sha256: dae2793ae5a39c74249cb3ec95d20378928143b8ad2b3b53b3f6ffdc1be6b5a6

Contents?: true

Size: 651 Bytes

Versions: 1

Compression:

Stored size: 651 Bytes

Contents

# frozen_string_literal: true

require_relative "active_support_subscriber"

module PlainApm
  module Hooks
    class ActiveRecord < ActiveSupportSubscriber
      NOTIFICATION_PATTERN = /\A[^!]\w+\.active_record\Z/.freeze
      IGNORED_SQL_NAMES = %w(SCHEMA CACHE).freeze

      private

      def notification_pattern
        NOTIFICATION_PATTERN
      end

      def payload(event)
        name, base = common_attributes(event)
        payload = event.payload

        return if IGNORED_SQL_NAMES.include?(payload[:name])

        case name
        when "sql"
          base.merge({ "sql" => payload[:sql] })
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
plain_apm-0.6.7 lib/plain_apm/hooks/active_record.rb