Sha256: d5fc1606b4aeee34ad71923174c80169022a717e95640e5cf1722525fccbd4e5
Contents?: true
Size: 994 Bytes
Versions: 1
Compression:
Stored size: 994 Bytes
Contents
# frozen_string_literal: true # Copyright The OpenTelemetry Authors # # SPDX-License-Identifier: Apache-2.0 module OpenTelemetry module Instrumentation module ActiveRecord module Patches # Module to prepend to ActiveRecord::Base for instrumentation module Querying def self.prepended(base) class << base prepend ClassMethods end end # Contains ActiveRecord::Querying to be patched module ClassMethods method_name = ::ActiveRecord.version >= Gem::Version.new('7.0.0') ? :_query_by_sql : :find_by_sql define_method(method_name) do |*args, **kwargs, &block| tracer.in_span("#{self} query") do super(*args, **kwargs, &block) end end private def tracer ActiveRecord::Instrumentation.instance.tracer end end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
opentelemetry-instrumentation-active_record-0.8.1 | lib/opentelemetry/instrumentation/active_record/patches/querying.rb |