lib/timber/events/sql_query.rb in timber-2.6.2 vs lib/timber/events/sql_query.rb in timber-3.0.0
- old
+ new
@@ -1,36 +1,26 @@
-require "timber/event"
+require 'timber/util'
+require 'timber/event'
module Timber
module Events
- # The SQL query event tracks sql queries to your database.
- #
- # @note This event should be installed automatically through integrations,
- # such as the {Integrations::ActiveRecord::LogSubscriber} integration.
+ # @private
class SQLQuery < Timber::Event
- MESSAGE_MAX_BYTES = 8192.freeze
- SQL_MAX_BYTES = 4096.freeze
+ attr_reader :sql, :duration_ms, :message
- attr_reader :sql, :time_ms, :message
-
def initialize(attributes)
- normalizer = Util::AttributeNormalizer.new(attributes)
- @message = normalizer.fetch!(:message, :string, :limit => MESSAGE_MAX_BYTES)
- @sql = normalizer.fetch!(:sql, :string, :limit => SQL_MAX_BYTES)
- @time_ms = normalizer.fetch!(:time_ms, :float, :precision => 6)
+ @sql = attributes[:sql]
+ @duration_ms = attributes[:duration_ms]
+ @message = attributes[:message]
end
def to_hash
- @to_hash ||= Util::NonNilHashBuilder.build do |h|
- h.add(:sql, sql)
- h.add(:time_ms, time_ms)
- end
+ {
+ sql_query_executed: Util::NonNilHashBuilder.build do |h|
+ h.add(:sql, sql)
+ h.add(:duration_ms, duration_ms)
+ end
+ }
end
- alias to_h to_hash
-
- # Builds a hash representation containing simple objects, suitable for serialization (JSON).
- def as_json(_options = {})
- {:sql_query => to_hash}
- end
end
end
-end
\ No newline at end of file
+end