module BaselineRedRpm::Instruments::SequelDataset

Public Instance Methods

execute_with_trace(sql, options = ::Sequel::OPTS, &block) click to toggle source
# File lib/baseline_red_rpm/instruments/sequel.rb, line 63
def execute_with_trace(sql, options = ::Sequel::OPTS, &block)
  if ::BaselineRedRpm::Tracer.tracing?
    span = ::BaselineRedRpm.tracer.start_span("sequel", tags: parse_opts(sql, options))
    span.set_tag "component", "Sequel"
    span.set_tag "span.kind", "client"
    BaselineRedRpm::Utils.log_source_and_backtrace(span, :sequel)
  end

  execute_without_trace(sql, options, &block)
rescue Exception => e
  if span
    span.set_tag('error', true)
    span.log_error(e)
  end
  raise
ensure
  span.finish if span
end