Release Notes
0.52.0
New Features
- The
ddtrace.Tracer.get_log_correlation_context
method has been added to replaceddtrace.helpers.get_correlation_ids
. It now returns a dictionary which includes the current span's trace and span ids, as well as the configured service, version, and environment names. - Add tracing support for the
httpx
library. Supported versions>=0.14.0
. - ASGI: store the ASGI span in the scope. The span can be retrieved with the
ddtrace.contrib.asgi.span_from_scope
function. - Submit runtime metrics as distribution metrics instead of gauge metrics.
- Support flask-caching (>= 1.10.0) with the Flask-Cache tracer.
- Only for CI Visibility (
pytest
integration): It is now possible to specify any of the following git metadata through environment variables:DD_GIT_REPOSITORY_URL
: The url of the repository where the code is storedDD_GIT_TAG
: The tag of the commit, if it has oneDD_GIT_BRANCH
: The branch where this commit belongs toDD_GIT_COMMIT_SHA
: The commit hash of the current codeDD_GIT_COMMIT_MESSAGE
: Commit messageDD_GIT_COMMIT_AUTHOR_NAME
: Commit author nameDD_GIT_COMMIT_AUTHOR_EMAIL
: Commit author emailDD_GIT_COMMIT_AUTHOR_DATE
: The commit author date (ISO 8601)DD_GIT_COMMIT_COMMITTER_NAME
: Commit committer nameDD_GIT_COMMIT_COMMITTER_EMAIL
: Commit committer emailDD_GIT_COMMIT_COMMITTER_DATE
: The commit committer date (ISO 8601)
Bug Fixes
- ASGI: handle decoding errors when extracting headers for trace propagation.
- Corrected some typing annotations for PEP 484 compliance
- Django: add support for version 3.1+ ASGI applications. A different codepath is taken for requests starting in Django 3.1 which led to the top level span not being generated for requests. The fix introduces automatic installation of the ASGI middleware to trace Django requests.
- dogpile.cache: handle both kwargs and args in the wrapper functions (using only kwargs would result in an IndexError).
- Fixes an issue with the Django integration where if the
urlconf
changes at any point during the handling of the request then the resource name will only be<METHOD> 404
. This fix moves resource name resolution to the end of the request. - Fixes error with tagging non-string Flask view args.
werkzeug.exceptions.NotFound
404 errors are no longer raised and logged as a server error in the Flask integration.- Fixes type hinting for
**patch_modules
parameter forpatch
/patch_all
functions. - Fixes an issue when using the pytest plugin with doctest which raises an
AttributeError
onDoctestItem
. - Fixes a bug in the pytest plugin where xfail test cases in a test file with a module-wide skip raises attribute errors and are marked as xfail rather than skipped.
- Fixed the handling of sanic endpoint paths with non-string arguments.
- opentracer: don't override default tracing config for the
ENABLED
,AGENT_HOSTNAME
,AGENT_HTTPS
orAGENT_PORT
settings.