Sha256: 510146ef83b9bc0d00de8178cf2e40e7cff718445fcd758b844cb7fa2418a24b

Contents?: true

Size: 629 Bytes

Versions: 1

Compression:

Stored size: 629 Bytes

Contents

# frozen_string_literal: true

require "active_record"
require "opentracing"

require "active_record/open_tracing/version"
require "active_record/open_tracing/processor"
require "active_record/open_tracing/sql_sanitizer"

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

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

      self
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
activerecord-instrumentation-0.4.0.jlauer1 lib/active_record/open_tracing.rb