module BaselineRedRpm::Instruments::ActiveRecord::Adapters::Sqlite3
Constants
- IGNORE_STATEMENTS
Public Instance Methods
begin_db_transaction_with_trace()
click to toggle source
# File lib/baseline_red_rpm/instruments/active_record/adapters/sqlite3.rb, line 112 def begin_db_transaction_with_trace if ::BaselineRedRpm::Tracer.tracing? adapter = connection_config.fetch(:adapter) span = BaselineRedRpm.tracer.start_span(name || 'SQL', tags: { "component" => "ActiveRecord", "span.kind" => "client", "db.statement" => "BEGIN", "db.user" => connection_config.fetch(:username, 'unknown'), "db.instance" => connection_config.fetch(:database), "db.vendor" => adapter, "db.type" => "sql" }) BaselineRedRpm::Utils.log_source_and_backtrace(span, :active_record) end begin_db_transaction_without_trace rescue Exception => e if span span.set_tag('error', true) span.log_error(e) end raise ensure span.finish if span end
exec_delete_with_trace(sql, name = nil, *args)
click to toggle source
# File lib/baseline_red_rpm/instruments/active_record/adapters/sqlite3.rb, line 52 def exec_delete_with_trace(sql, name = nil, *args) if ::BaselineRedRpm::Tracer.tracing? unless ignore_trace?(name) adapter = connection_config.fetch(:adapter) sanitized_sql = sanitize_sql(sql, adapter) span = BaselineRedRpm.tracer.start_span(name || 'SQL', tags: { "component" => "ActiveRecord", "span.kind" => "client", "db.statement" => sanitized_sql, "db.user" => connection_config.fetch(:username, 'unknown'), "db.instance" => connection_config.fetch(:database), "db.vendor" => adapter, "db.type" => "sql" }) BaselineRedRpm::Utils.log_source_and_backtrace(span, :active_record) end end exec_delete_without_trace(sql, name, *args) rescue Exception => e if span span.set_tag('error', true) span.log_error(e) end raise ensure span.finish if span end
exec_insert_with_trace(sql, name = nil, *args)
click to toggle source
# File lib/baseline_red_rpm/instruments/active_record/adapters/sqlite3.rb, line 82 def exec_insert_with_trace(sql, name = nil, *args) if ::BaselineRedRpm::Tracer.tracing? unless ignore_trace?(name) adapter = connection_config.fetch(:adapter) sanitized_sql = sanitize_sql(sql, adapter) span = BaselineRedRpm.tracer.start_span(name || 'SQL', tags: { "component" => "ActiveRecord", "span.kind" => "client", "db.statement" => sanitized_sql, "db.user" => connection_config.fetch(:username, 'unknown'), "db.instance" => connection_config.fetch(:database), "db.vendor" => adapter, "db.type" => "sql" }) BaselineRedRpm::Utils.log_source_and_backtrace(span, :active_record) end end exec_insert_without_trace(sql, name, binds, *args) rescue Exception => e if span span.set_tag('error', true) span.log_error(e) end raise ensure span.finish if span end
exec_query_with_trace(sql, name = nil, *args)
click to toggle source
# File lib/baseline_red_rpm/instruments/active_record/adapters/sqlite3.rb, line 22 def exec_query_with_trace(sql, name = nil, *args) if ::BaselineRedRpm::Tracer.tracing? unless ignore_trace?(name) adapter = connection_config.fetch(:adapter) sanitized_sql = sanitize_sql(sql, adapter) span = BaselineRedRpm.tracer.start_span(name || 'SQL', tags: { "component" => "ActiveRecord", "span.kind" => "client", "db.statement" => sanitized_sql, "db.user" => connection_config.fetch(:username, 'unknown'), "db.instance" => connection_config.fetch(:database), "db.vendor" => adapter, "db.type" => "sql" }) BaselineRedRpm::Utils.log_source_and_backtrace(span, :active_record) end end exec_query_without_trace(sql, name, *args) rescue Exception => e if span span.set_tag('error', true) span.log_error(e) end raise ensure span.finish if span end
ignore_trace?(name)
click to toggle source
# File lib/baseline_red_rpm/instruments/active_record/adapters/sqlite3.rb, line 16 def ignore_trace?(name) IGNORE_STATEMENTS[name.to_s] || (name && name.to_sym == :skip_logging) || name == 'ActiveRecord::SchemaMigration Load' end