module Datadog::Contrib::Mysql2::Instrumentation::InstanceMethods
Mysql2::Client patch instance methods
Public Instance Methods
datadog_pin()
click to toggle source
# File lib/ddtrace/contrib/mysql2/instrumentation.rb, line 34 def datadog_pin @datadog_pin ||= Datadog::Pin.new( Datadog.configuration[:mysql2][:service_name], app: Ext::APP, app_type: Datadog::Ext::AppTypes::DB, tracer: -> { Datadog.configuration[:mysql2][:tracer] } ) end
query(sql, options = {})
click to toggle source
Calls superclass method
# File lib/ddtrace/contrib/mysql2/instrumentation.rb, line 18 def query(sql, options = {}) datadog_pin.tracer.trace(Ext::SPAN_QUERY) do |span| span.resource = sql span.service = datadog_pin.service span.span_type = Datadog::Ext::SQL::TYPE # Set analytics sample rate Contrib::Analytics.set_sample_rate(span, analytics_sample_rate) if analytics_enabled? span.set_tag(Ext::TAG_DB_NAME, query_options[:database]) span.set_tag(Datadog::Ext::NET::TARGET_HOST, query_options[:host]) span.set_tag(Datadog::Ext::NET::TARGET_PORT, query_options[:port]) super(sql, options) end end
Private Instance Methods
analytics_enabled?()
click to toggle source
# File lib/ddtrace/contrib/mysql2/instrumentation.rb, line 49 def analytics_enabled? datadog_configuration[:analytics_enabled] end
analytics_sample_rate()
click to toggle source
# File lib/ddtrace/contrib/mysql2/instrumentation.rb, line 53 def analytics_sample_rate datadog_configuration[:analytics_sample_rate] end
datadog_configuration()
click to toggle source
# File lib/ddtrace/contrib/mysql2/instrumentation.rb, line 45 def datadog_configuration Datadog.configuration[:mysql2] end