class Airbrake::Query

Query holds SQL query data that powers SQL query collection.

@see Airbrake.notify_query @api public @since v3.2.0 rubocop:disable Metrics/ParameterLists

Attributes

file[RW]
func[RW]
line[RW]
method[RW]
query[RW]
route[RW]
time[RW]
timing[RW]

Public Class Methods

new( method:, route:, query:, func: nil, file: nil, line: nil, timing: nil, time: Time.now ) click to toggle source
# File lib/airbrake-ruby/query.rb, line 17
def initialize(
  method:,
  route:,
  query:,
  func: nil,
  file: nil,
  line: nil,
  timing: nil,
  time: Time.now
)
  @time_utc = TimeTruncate.utc_truncate_minutes(time)
  @method = method
  @route = route
  @query = query
  @func = func
  @file = file
  @line = line
  @timing = timing
  @time = time
end

Public Instance Methods

cargo() click to toggle source
# File lib/airbrake-ruby/query.rb, line 42
def cargo
  'queries'
end
destination() click to toggle source
# File lib/airbrake-ruby/query.rb, line 38
def destination
  'queries-stats'
end
to_h() click to toggle source
# File lib/airbrake-ruby/query.rb, line 46
def to_h
  {
    'method' => method,
    'route' => route,
    'query' => query,
    'time' => @time_utc,
    'function' => func,
    'file' => file,
    'line' => line,
  }.delete_if { |_key, val| val.nil? }
end