0.37.0
Refactored
- Documentation improvements regarding Datadog Agent defaults (#1074) (@cswatt)
- Improvements to test suite (#1043, #1051, #1062, #1075, #1076, #1086)
Removed
-
DEPRECATION: Deprecate Contrib::Configuration::Settings#tracer= (#1072, #1079)
-
The
tracer:
option is no longer supported for integration configuration. A deprecation warning will be issued when this option is used. -
Tracer instances are dynamically created when
ddtrace
is reconfigured (throughDatadog.configure{}
calls).A reference to a tracer instance cannot be stored as it will be replaced by a new instance during reconfiguration.
Retrieving the global tracer instance, by invoking
Datadog.tracer
, is the only safe mechanism to acquire the active tracer instance.Allowing an integration to set its tracer instance is effectively preventing that integration from dynamically retrieving the current active tracer in the future, thus causing it to record spans in a stale tracer instance. Spans recorded in a stale tracer instance will look disconnected from their parent context.
-
-
BREAKING: Remove Pin#tracer= and DeprecatedPin#tracer= (#1073)
- The
Pin
andDeprecatedPin
are internal tools used to provide more granular configuration for integrations. - The APIs being removed are not public nor have been externally documented. The
DeprecatedPin
specifically has been considered deprecated since 0.20.0. - This removal is a continuation of #1079 above, thus carrying the same rationale.
- The
Migration
- Remove
tracer
argument provided to integrations (e.g.c.use :rails, tracer: ...
). - Remove
tracer
argument provided toPin
orDeprecatedPin
initializers (e.g.Pin.new(service, tracer: ...)
). - If you require a custom tracer instance, use a global instance configuration:
Datadog.configure do |c| c.tracer.instance = custom_tracer end
Read the full changeset and the release milestone.