github DataDog/dd-trace-py v3.9.0rc1
3.9.0rc1

latest releases: v3.13.0, v3.12.6, v3.12.5...
pre-release3 months ago

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, calling tracer.current_span() inside a wrapped generator function would return None, leading to AttributeError 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 that tracer.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 use tracer.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: ..."

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), and elasticsearch (>=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. For uWSGI<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.

Don't miss a new dd-trace-py release

NewReleases is sending notifications on new releases.