Skip to content

Change in behavior in 2.0 for the Rails activerecord integration #4179

Open
@alexevanczuk

Description

@alexevanczuk

The rails instrumentation sets up an activerecord integration here: https://github.com/DataDog/dd-trace-rb/blob/master/lib/datadog/tracing/contrib/rails/framework.rb

This sets up a service called postgres via the activerecord configuration (lib/datadog/tracing/contrib/active_record/configuration/settings.rb) which calls Utils.adapter_name which calls Contrib::Utils::Database.normalize_vendor(connection_config[:adapter]) which evaluates to postgres.

In our postgres service, we're now seeing new errors come in after the 2.0 upgrade. We typically turn off error propagation for our instrumentations because it results in double signal. That is – if an error propagates up and causes an application bug, it results in a bug in an outer span beyond the instrumentation. Normally we just set the on_error (or error_handler prior to the 2.0 upgrade) as a no-op to not attach these errors to these instrumentation spans. However, we didn't need this for the rails instrumentation before, and now after 2.0 there doesn't appear to be a configuration option in lib/datadog/tracing/contrib/rails/configuration/settings.rb that allows us to no-op these postgres errors.

Please let me know your recommendation for disabling these errors again! Thank you!

Metadata

Metadata

Assignees

Labels

bugInvolves a bugcommunityWas opened by a community member

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions