Upgrading#

Deprecation warnings#

As of v0.60.0, the ddtrace library provides Python warnings for deprecations with an additional warning category ddtrace.DDTraceDeprecationWarning.

This warning category can be used in configuring pytest warnings capture to turn warnings into errors:

pytest -W "error::ddtrace.DDTraceDeprecationWarning" tests.py

In addition, the environment variable DD_TRACE_RAISE_DEPRECATIONWARNING is provided to configure the warning filter to raise an exception in an application instrumented with ddtrace:

DD_TRACE_RAISE_DEPRECATIONWARNING=1 ddtrace-run python app.py

Before v0.60.0, you must enable all deprecation warnings and filter the application or tests logs for deprecations specific to the ddtrace library:

$ python -Wall app.py

# or

$ PYTHONWARNINGS=all python app.py

Upgrade to 1.0#

Environment variables#

Use the following patterns to identify the deprecated environment variables in a code base:

git grep -e "DATADOG_[A-Z_]*" \
  -e "DATADOG_SERVICE_NAME" \
  -e "DD_CALL_BASIC_CONFIG" \
  -e "DD_LOGGING_RATE_LIMIT" \
  -e "DD_SERVICE_NAME" \
  -e "DD_TRACER_PARTIAL_FLUSH_ENABLED" \
  -e "DD_TRACER_PARTIAL_FLUSH_MIN_SPANS"

Upgrade to 2.0#

Environment variables#

Use the following patterns to identify the deprecated environment variables in a code base:

git grep -e "DD_GEVENT_PATCH_ALL" \
  -e "DD_AWS_TAG_ALL_PARAMS" \
  -e "DD_REMOTECONFIG_POLL_SECONDS" \
  -e "DD_CALL_BASIC_CONFIG"

Legacy tracing interfaces#

Reference the 2.0 release note (../releasenotes/notes/release-2.0-3af0045e2261bd02.yaml) to identify and remove the deprecated legacy tracing interfaces in a code base.

Upgrade to 3.0#

Environment variables#

Use the following patterns to identify the deprecated environment variables in a code base. These configurations will not be supported in v3.0. Refer to the migration guide below for next steps:

git grep -P -e "DD_LLMOBS_APP_NAME" \
    -e "_DD_LLMOBS_EVALUATOR_SAMPLING_RULES" \
    -e "_DD_LLMOBS_EVALUATORS" \
    -e "DD_TRACE_PROPAGATION_STYLE=.*b3 single header" \
    -e "DD_TRACE_SAMPLE_RATE" \
    -e "DD_TRACE_API_VERSION=v0.3" \
    -e "DD_ANALYTICS_ENABLED" \
    -e "DD_TRACE_ANALYTICS_ENABLED" \
    -e "DD_HTTP_CLIENT_TAG_QUERY_STRING" \
    -e "DD_TRACE_SPAN_AGGREGATOR_RLOCK" \
    -e "DD_TRACE_METHODS=.*\[\]"

Legacy tracing interfaces#

Reference the [3.0 release note](https://github.com/DataDog/dd-trace-py/releases/tag/v3.0.0) to identify and update deprecated interfaces in ddtrace products.

Upgrade to 4.0#

Environment variables#

Use the following patterns to identify the deprecated environment variables in a code base. These configurations will not be supported in v3.0. Refer to the migration guide below for next steps:

git grep -P -e "DD_DYNAMIC_INSTRUMENTATION_UPLOAD_FLUSH_INTERVAL" \
-e "DD_EXCEPTION_DEBUGGING_ENABLED" \
-e "DD_PROFILING_STACK_V2_ENABLED" \
-e "DEFAULT_RUNTIME_METRICS_INTERVAL"

Reference the [4.0 release note](https://github.com/DataDog/dd-trace-py/releases/tag/v4.0.0) to identify and update deprecated interfaces in ddtrace products. The major changes to the tracing interface include the removal of Pin and Span.set_tag_str. Python 3.8 support has also been dropped.