Releases: DataDog/dd-trace-py
0.56.0rc2
Bug Fixes
- Fix memory leak caused when the tracer is disabled.
0.56.0rc1
Release Notes
v0.56.0rc1
Prelude
The v0.5 trace API version has been made available and can be selected via the newly introduced DD_TRACE_API_VERSION environment variable by setting DD_TRACE_API_VERSION="v0.5". This newer API version generates smaller payloads, thus increasing the trace throughput to the Datadog agent, for better performance.
New Features
- Added the
DD_TRACE_API_VERSIONenvironment variable for requesting a specific trace API version.
Upgrade Notes
- The aredis integration is now enabled by default.
Deprecation Notes
- The contents of
monkey.pyhave been moved into_monkey.pyin an effort to internalize the module. Public methods have been imported back intomonkey.pyin order to retain compatibility, but monkey.py will be removed entirely in version 1.0.0.
Bug Fixes
- Set the correct package name in the Pyramid instrumentation. This should fix an issue where the incorrect package name was being used which would crash the application when trying to do relative imports within Pyramid (e.g. when including routes from a relative path).
0.55.3
Bug Fixes
- Fix memory leak caused when the tracer is disabled.
0.55.2
0.55.2
Bug Fixes
- Set the correct package name in the Pyramid instrumentation. This should
fix an issue where the incorrect package name was being used which would
crash the application when trying to do relative imports within Pyramid
(e.g. when including routes from a relative path).
0.55.1
0.55.1
Bug Fixes
- Fix Pyramid caller_package level issue which resulted in crashes when starting Pyramid applications. Level now left at default (2).
0.55.0
Release Notes
New Features
- Add official support for Python 3.10
- Add aredis support >= 1.1.0
- Add automatic unix domain socket detection for Dogstatsd. The expected path for the socket is
/var/run/datadog/dsd.socketwhich if exists, will be used instead of the previous UDP default,udp://localhost:8125/. To be used in conjunction withdogstatsd_socketin yourdatadog.yamlfile, or theDD_DOGSTATSD_SOCKETenvironment variable set on the Datadog agent. - Add new
DD_TRACE_SAMPLING_RULESenvironment variable to override default sampling rules. For example:DD_TRACE_SAMPLING_RULES='[{"sample_rate":0.5,"service":"my-service"}]' - Add support for snowflake-connector-python >= 2.0.0. Note that this integration is in beta and is not enabled by default. See the snowflake integration documentation for how to enable.
- Only for CI Visibility (
pytestintegration): includepytestversion as a tag in the test span. - Only for CI Visibility (
pytestintegration): Extract stage and job name from environment data in Azure Pipelines.
Upgrade Notes
- Instead of using error constants from
ddtrace.ext.errors. Use constants fromddtrace.constantsmodule. For example:ddtrace.ext.errors.ERROR_MSG->ddtrace.constants.ERROR_MSG - Instead of using priority constants from
ddtrace.ext.priority. Use constants fromddtrace.constantsmodule. For example:ddtrace.ext.priority.AUTO_KEEP->ddtrace.constants.AUTO_KEEP - Instead of using system constants from
ddtrace.ext.system. Use constants fromddtrace.constantsmodule. For example:ddtrace.ext.system.PID->ddtrace.constants.PID
Deprecation Notes
-
Deprecate DATADOG_TRACE_AGENT_HOSTNAME, DATADOG_TRACE_AGENT_PORT, DATADOG_PRIORITY_SAMPLING, DATADOG_PATCH_MODULES in favor of their DD equivalents.
[Deprecated environment variable] | [Recommended environment variable]
- For
DATADOG_TRACE_AGENT_HOSTNAME, useDD_AGENT_HOST - For
DATADOG_TRACE_AGENT_PORTuseDD_AGENT_PORT - For
DATADOG_PRIORITY_SAMPLING, follow ingestion controls - For
DATADOG_PATCH_MODULES, useDD_PATCH_MODULES
- For
-
Moved
ddtrace.ext.errorsconstants into theddtrace.constantsmodule.ddtrace.ext.errorswill be removed in v1.0. Shorthand error constant (MSG,TYPE,STACK) inddtrace.ext.errorswill be removed in v1.0. Functionget_traceback()in ddtrace.ext.errors is now deprecated and will be removed v1.0. -
Moved
ddtrace.ext.priorityconstants intoddtrace.constantsmodule. -
Moved
ddtrace.ext.systemconstants intoddtrace.constantsmodule.
Bug Fixes
- Fixes an issue where all Django function middleware will share the same resource name.
- Fixed an issue with gevent worker processes that caused them to crash and stop.
- Fixes exceptions raised when logging during tracer initialization when
DD_LOGS_INJECTIONis enabled. - The
ddtrace.utils.wrappers.unwrapfunction now raises an error if trying to unwrap a non-wrapped object. - Only for CI Visibility (
pytestintegration): Fix extraction of branch in GitLab CI.
0.55.0rc2
Release Notes
New Features
- Add aredis support >= 1.1.0
- Add automatic unix domain socket detection for Dogstatsd. The expected path for the socket is
/var/run/datadog/dsd.socketwhich if exists, will be used instead of the previous UDP default,udp://localhost:8125/. To be used in conjunction withdogstatsd_socketin yourdatadog.yamlfile, or theDD_DOGSTATSD_SOCKETenvironment variable set on the Datadog agent. - Add new
DD_TRACE_SAMPLING_RULESenvironment variable to override default sampling rules. For Example::DD_TRACE_SAMPLING_RULES='[{"sample_rate":0.5,"service":"my-service"}]' - Add support for snowflake-connector-python >= 2.0.0.
- Only for CI Visibility (
pytestintegration): includepytestversion as a tag in the test span. - Added official support for Python 3.10
- Only for CI Visibility (
pytestintegration): Extract stage and job name from environment data in Azure Pipelines.
Upgrade Notes
- Instead of using error constants from
ddtrace.ext.errors. Use constants fromddtrace.constantsmodule. For example:ddtrace.ext.errors.ERROR_MSG->ddtrace.constants.ERROR_MSG - Instead of using priority constants from
ddtrace.ext.priority. Use constants fromddtrace.constantsmodule. For Example::ddtrace.ext.priority.AUTO_KEEP->ddtrace.constants.AUTO_KEEP - Instead of using system constants from
ddtrace.ext.system. Use constants fromddtrace.constantsmodule. For Example::ddtrace.ext.system.PID->ddtrace.constants.PID
Deprecation Notes
-
Deprecate DATADOG_TRACE_AGENT_HOSTNAME, DATADOG_TRACE_AGENT_PORT, DATADOG_PRIORITY_SAMPLING, DATADOG_PATCH_MODULES in favor of their DD equivalents.
[Deprecated environment variable] | [Recommended environment variable]
- For
DATADOG_TRACE_AGENT_HOSTNAME, useDD_AGENT_HOST - For
DATADOG_TRACE_AGENT_PORTuseDD_AGENT_PORT - For
DATADOG_PRIORITY_SAMPLING, follow ingestion controls - For
DATADOG_PATCH_MODULES, useDD_PATCH_MODULES
- For
-
Moved
ddtrace.ext.errorsconstants into theddtrace.constantsmodule.ddtrace.ext.errorswill be removed in v1.0. Shorthand error constant (MSG,TYPE,STACK) inddtrace.ext.errorswill be removed in v1.0. Functionget_traceback()in ddtrace.ext.errors is now deprecated and will be removed v1.0. -
Moved
ddtrace.ext.priorityconstants intoddtrace.constantsmodule. -
Moved
ddtrace.ext.systemconstants intoddtrace.constantsmodule.
Bug Fixes
- Fixes an issue where all Django function middleware will share the same resource name.
- Fixed an issue with gevent worker processes that caused them to crash and stop.
- Fixes exceptions raised when logging during tracer initialization when
DD_LOGS_INJECTIONis enabled. - The
ddtrace.utils.wrappers.unwrapfunction now raises an error if trying to unwrap a non-wrapped object. - Only for CI Visibility (
pytestintegration): Fix extraction of branch in GitLab CI.
0.55.0rc1
What's Changed
New Features
- Add aredis support >= 1.1.0
- Add automatic unix domain socket detection for Dogstatsd. The expected path for the socket is
/var/run/datadog/dsd.socketwhich if exists, will be used instead of the previous UDP default,udp://localhost:8125/. To be used in conjunction withdogstatsd_socketin yourdatadog.yamlfile, or theDD_DOGSTATSD_SOCKETenvironment variable set on the Datadog agent. - Add new
DD_TRACE_SAMPLING_RULESenvironment variable to override default sampling rules. For Example::DD_TRACE_SAMPLING_RULES='[{"sample_rate":0.5,"service":"my-service"}]' - Add support for snowflake-connector-python >= 2.0.0.
- Only for CI Visibility (
pytestintegration): includepytestversion as a tag in the test span. - Added official support for Python 3.10
- Only for CI Visibility (
pytestintegration): Extract stage and job name from environment data in Azure Pipelines.
Upgrade Notes
- Instead of using error constants from
ddtrace.ext.errors. Use constants fromddtrace.constantsmodule. For example:ddtrace.ext.errors.ERROR_MSG->ddtrace.constants.ERROR_MSG - Instead of using priority constants from
ddtrace.ext.priority. Use constants fromddtrace.constantsmodule. For Example::ddtrace.ext.priority.AUTO_KEEP->ddtrace.constants.AUTO_KEEP - Instead of using system constants from
ddtrace.ext.system. Use constants fromddtrace.constantsmodule. For Example::ddtrace.ext.system.PID->ddtrace.constants.PID
Deprecation Notes
-
Deprecate DATADOG_TRACE_AGENT_HOSTNAME, DATADOG_TRACE_AGENT_PORT, DATADOG_PRIORITY_SAMPLING, DATADOG_PATCH_MODULES in favor of their DD equivalents.
[Deprecated environment variable] | [Recommended environment variable]
- For
DATADOG_TRACE_AGENT_HOSTNAME, useDD_AGENT_HOST - For
DATADOG_TRACE_AGENT_PORTuseDD_AGENT_PORT - For
DATADOG_PRIORITY_SAMPLING, follow ingestion controls - For
DATADOG_PATCH_MODULES, useDD_PATCH_MODULES
- For
-
Moved
ddtrace.ext.errorsconstants into theddtrace.constantsmodule.ddtrace.ext.errorswill be removed in v1.0. Shorthand error constant (MSG,TYPE,STACK) inddtrace.ext.errorswill be removed in v1.0. Functionget_traceback()in ddtrace.ext.errors is now deprecated and will be removed v1.0. -
Moved
ddtrace.ext.priorityconstants intoddtrace.constantsmodule. -
Moved
ddtrace.ext.systemconstants intoddtrace.constantsmodule.
Bug Fixes
- Fixes an issue where all Django function middleware will share the same resource name.
- Fixed an issue with gevent worker processes that caused them to crash and stop.
- Fixes exceptions raised when logging during tracer initialization when
DD_LOGS_INJECTIONis enabled. - The
ddtrace.utils.wrappers.unwrapfunction now raises an error if trying to unwrap a non-wrapped object. - Only for CI Visibility (
pytestintegration): Fix extraction of branch in GitLab CI.
0.54.1
Bug Fixes
- Fixed an issue with gevent worker processes that caused them to crash and stop.
- Fixes exceptions raised when logging during tracer initialization when
DD_LOGS_INJECTIONis enabled.
0.54.0
Release Notes
v0.54.0
New Features
- Add automatic unix domain socket detection for traces. The expected path for the socket is
/var/run/datadog/apm.socketwhich if exists, will be used instead of the previous http default,http://localhost:8126/. To be used in conjunction withapm_config.receiver_socketin yourdatadog.yamlfile, or theDD_APM_RECEIVER_SOCKETenvironment variable set on the Datadog agent. - Update the --info command to be easier to read and provide more helpful information.
- Add support for
DD_PROFILING_ENDPOINT_COLLECTION_ENABLEDenv variable to disable endpoint name collection in profiler. - Add rq integration.
- Tag traces with HTTP headers specified on the
DD_TRACE_HEADER_TAGSenvironment variable. Value must be either comma or space separated. e.g.Host:http.host,User-Agent,http.user_agentorreferer:http.referer Content-Type:http.content_type.
Deprecation Notes
- Deprecate the DATADOG_ENV environment variable in favor of DD_ENV. The use of DD_ENV should follow Unified Service Tagging recommendations.
Bug Fixes
- pytest: report exception details directly instead of through a RuntimeWarning exception.
- Fixed the support for Celery workers that fork sub-processes with Python 3.6 and earlier versions.
- Fix the reporting of the allocated memory and the number of allocations in the profiler.
- Fixes cases in which the
test.statustag of a test span frompytestwould be missing becausepytest_runtest_makereporthook is not run, like whenpytesthas an internal error. - Pin
protobufversion to<3.18for Python <=3.5 due to support being dropped. - Make sure that correct endpoint name collected for profiling.
Other Notes
- Added runtime metrics status and sampling rules to start-up logs.