Module: ActiveRecord::OpenTracing

Defined in:
lib/active_record/open_tracing.rb,
lib/active_record/open_tracing/version.rb,
lib/active_record/open_tracing/processor.rb,
lib/active_record/open_tracing/sql_sanitizer.rb,
lib/active_record/open_tracing/sql_sanitizer/base.rb,
lib/active_record/open_tracing/sql_sanitizer/mysql.rb,
lib/active_record/open_tracing/sql_sanitizer/sqlite.rb,
lib/active_record/open_tracing/sql_sanitizer/regexes.rb,
lib/active_record/open_tracing/sql_sanitizer/postgres.rb,
lib/active_record/open_tracing/sql_sanitizer/sql_server.rb

Defined Under Namespace

Modules: SqlSanitizer Classes: Processor

Constant Summary collapse

VERSION =
"0.5.1"

Class Method Summary collapse

Class Method Details

.instrument(tracer: ::OpenTracing.global_tracer, sanitizer: nil, sql_logging_enabled: true) ⇒ Object

Instruments activerecord for use with OpenTracing



19
20
21
22
23
24
25
26
# File 'lib/active_record/open_tracing.rb', line 19

def self.instrument(tracer: ::OpenTracing.global_tracer, sanitizer: nil, sql_logging_enabled: true)
  sql_sanitizer = sanitizer && SqlSanitizer.build_sanitizer(sanitizer)
  processor = Processor.new(tracer, sanitizer: sql_sanitizer, sql_logging_enabled: sql_logging_enabled)

  ActiveSupport::Notifications.subscribe("sql.active_record") do |*args|
    processor.call(*args)
  end
end