New Features
- CI Visibility
- This introduces report links to the pytest plugin. At the end of a test session, ddtrace shows links to the Datadog Test Optimization pages with the test results for the current commit and for the current CI job (provided that the CI environment variables with the current job and pipeline ID are available).
- azure_functions
- This introduces tracing support for service bus triggers.
Bug Fixes
- AAP
- Fixed API Security sampling when running in standalone mode (without APM tracing enabled).
- dynamic instrumentation
- Fixed an issue with a GC-based lookup for code origin resolution resulting in high performance overhead.
- tracing
- Fixes support for wrapping generator and async generator functions with
tracer.wrap()
. Previously, callingtracer.current_span()
inside a wrapped generator function would returnNone
, leading toAttributeError
when interacting with the span. Additionally, traces reported to Datadog showed incorrect durations, as span context was not maintained across generator iteration. This change ensures thattracer.wrap()
now correctly handles both sync and async generators by preserving the tracing context throughout their execution and finalizing spans correctly. Users can now safely usetracer.current_span()
within generator functions and expect accurate trace reporting. - This fix resolves an issue where the library fails to decode a supported sampling mechanism, resulting in the log line: "failed to decode _dd.p.dm: ..."
- Fixes support for wrapping generator and async generator functions with
Other Changes
-
Adds a new configuration option
DD_TRACE_SAFE_INSTRUMENTATION_ENABLED
to enable safer patching of integrations.When enabled, the tracer will check if the installed version of an integration is compatible with the explicit version range supported by that integration. If an incompatible version is detected, the integration will not be patched and an error message will be logged.
This feature is currently disabled by default, but will be enabled by default in a future version.
Currently the only supported integrations for this feature are:
aiobotocore
(>=1.0.0),fastapi
(>=0.57.0), andelasticsearch
(>=1.10). -
profiling
- redundant locking was removed from the memory profiler. This reduces the baseline overhead of the memory profiler substantially, and resolves several subtle correctness issues.
-
docs
- Update docs and tests for uwsgi
--lazy-apps
config. ForuWSGI<2.0.30
when--lazy-apps
is set , we advise our customers to also set--skip-atexit
to avoid crashes that could occur from our native extensions when worker processes are terminated.
- Update docs and tests for uwsgi