Module: Datadog::Contrib::Sequel::Database::InstanceMethods
- Defined in:
- lib/ddtrace/contrib/sequel/database.rb
Overview
Instance methods for instrumenting Sequel::Database
Instance Method Summary collapse
Instance Method Details
#datadog_pin ⇒ Object
35 36 37 38 39 40 41 42 |
# File 'lib/ddtrace/contrib/sequel/database.rb', line 35 def datadog_pin @pin ||= Datadog::Pin.new( Datadog.configuration[:sequel][:service_name] || adapter_name, app: Ext::APP, app_type: Datadog::Ext::AppTypes::DB, tracer: -> { Datadog.configuration[:sequel][:tracer] } ) end |
#run(sql, options = ::Sequel::OPTS) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/ddtrace/contrib/sequel/database.rb', line 19 def run(sql, = ::Sequel::OPTS) opts = parse_opts(sql, ) response = nil datadog_pin.tracer.trace(Ext::SPAN_QUERY) do |span| span.service = datadog_pin.service span.resource = opts[:query] span.span_type = Datadog::Ext::SQL::TYPE Utils.(span) span.set_tag(Ext::TAG_DB_VENDOR, adapter_name) response = super(sql, ) end response end |