Sha256: 16c026236ddf2ca376a4fab382f7c0095e9c3e2c2f54fbcafaeae659dcc6c161
Contents?: true
Size: 921 Bytes
Versions: 3
Compression:
Stored size: 921 Bytes
Contents
require "sentry/rails/tracing/abstract_subscriber" module Sentry module Rails module Tracing class ActiveRecordSubscriber < AbstractSubscriber EVENT_NAMES = ["sql.active_record"].freeze SPAN_PREFIX = "db.".freeze EXCLUDED_EVENTS = ["SCHEMA", "TRANSACTION"].freeze def self.subscribe! subscribe_to_event(EVENT_NAMES) do |event_name, duration, payload| next if EXCLUDED_EVENTS.include? payload[:name] record_on_current_span(op: SPAN_PREFIX + event_name, start_timestamp: payload[START_TIMESTAMP_NAME], description: payload[:sql], duration: duration) do |span| span.set_data(:connection_id, payload[:connection_id]) span.set_tag(:cached, true) if payload.fetch(:cached, false) # cached key is only set for hits in the QueryCache, from Rails 5.1 end end end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems