Releases: DataDog/dd-trace-py
0.51.0rc2
Second release candidate for 0.51 including support for MariaDB and profiler upgrades.
0.50.2
0.50.1
Release Notes
0.50.1
Bug Fixes
- Fix pymongo 3.12.0+ spans not being generated.
- Fix a possible NoneType error in the WSGI middleware start_response method.
- Fixed JSON encoding errors in the pytest plugin for parameterized tests with complex Python object parameters.
The pytest plugin now defaults to encoding the string representations of non-JSON serializable test parameters.
0.51.0rc1
0.51 prerelease featuring automatic _dd.origin tagging propagation to all spans in a trace.
0.50.0
Release Notes
v0.50.0
Prelude
Major changes to context management. See the upgrade section for the specifics. Note that only advanced users of the library should be affected by these changes. For the details please refer to the Context section of the docs: https://ddtrace.readthedocs.io/en/v0.50.0/advanced_usage.html
Upgrade Notes
-
ddtrace.contrib.asyncioAsyncioContextProvidercan now return and activateNone,SpanorContextobjects.
-
ddtrace.contrib.geventGeventContextProvidercan now return and activateNone,SpanorContextobjects.
-
ddtrace.contrib.tornadoTracerStackContextcan now return and activateNone,SpanorContextobjects.
-
ddtrace.context.Contextno longer maintains the active/current span state.-
get_current_root_span()has been removed. Usetracer.current_root_span()instead. -
get_current_span()has been removed. Usetracer.current_span()instead. -
add_span()has been removed. To activate a span in an execution usetracer.context_provider.activate()instead. -
close_span()has been removed. To deactivate a span in an execution usetracer.context_provider.activate()instead.
-
-
ddtrace.provider.BaseContextProvideractive()now returnsNone,SpanorContextobjects.activate()now acceptsNone,SpanorContextobjects.
-
ddtrace.tracer.Tracertracer.get_call_context()will now return a one-offContextreference. This is to maintain backwards compatibility with the API but the functionality differs slightly.tracer.start_span()passing aspan.contextforchild_ofno longer adds the strong_parentreference to the new span.
-
Support for MySQL-python has been removed.
-
Support for psycopg < 2.7 has been removed.
Bug Fixes
-
Fixes an issue with enabling the runtime worker introduced in v0.49.0 where no runtime metrics were sent to the agent.
-
Fixed the handling of the Django template name tag causing type errors.
-
Fixes an issue when trying to manually start the runtime metrics worker:
AttributeError: module 'ddtrace.internal.runtime' has no attribute 'runtime_metrics' -
sanic: update instrumentation to support version 21.
-
Performance of the Celery integration has been improved.
-
Fix runtime-id and system.pid tags not being set on distributed traces.
-
The shutdown task is re-registered when a tracer is reused after it has been shut down.
-
Fixed the optional argument of
Span.finishtoOptional[float]instead ofOptional[int]. -
The OpenTracing
tracer.start_spanmethod no longer activates spans. -
Datadog active spans will no longer take precedence over OpenTracing active spans.
-
django: fix a bug where multiple database backends would not be instrumented.
-
django: fix a bug when postgres query is composable sql object.
-
A possible memory leak that occurs when tracing across a fork has been fixed. See #2497 for more information.
-
Fix double patching of
pymongoclient topology.
New Features
-
Automated context management should now work in all asynchronous frameworks that use
contextvars. -
The Python heap profiler can now be enabled by setting the
DD_PROFILING_HEAP_ENABLEDenvironment variable to1. -
The pytest plugin now includes support for automatically tagging spans with parameters in parameterized tests.
-
Add new environment variables to configure the internal trace writer.
DD_TRACE_WRITER_MAX_BUFFER_SIZE,DD_TRACE_WRITER_INTERVAL_SECONDS,DD_TRACE_WRITER_MAX_PAYLOAD_SIZE_BYTES -
The exception profiler now gathers and exports the traces and spans information.
-
Add new
DD_TRACE_AGENT_TIMEOUT_SECONDSto override the default connection timeout used when sending data to the trace agent. The default is2.0seconds. -
The CI tagging for the pytest plugin now includes OS and Python Runtime metadata including system architecture, platform, version, and Python runtime name and version.
-
Add
DD_CALL_BASIC_CONFIG={true,false}environment variable to control whetherddtracecallslogging.basicConfig. By default when usingddtrace-runor running in debug modelogging.basicConfigis called to ensure there is always a root handler. This has compatibility issues for some logging configurations.DD_CALL_BASIC_CONFIG=falsecan be used to skip callinglogging.basicConfig. The default value istrueto maintain existing behavior. -
agent: support URL with a base path
-
tracer.start_span()now accepts anactivateargument (defaultFalse) to allow manual context management. -
tracer.current_trace_context()has been added to be used to access the trace context of the active trace. -
A warning has been added to alert when gevent monkey patching is done after ddtrace has been imported.
-
Add support for Flask 2.
-
Added retry logic to the tracer to mitigate potential networking issues, like timeouts or dropped connections.
Other Notes
- The botocore integration excludes AWS endpoint call parameters that have a name ending with
Bodyfrom the set of span tags. - The pytest plugin now includes git metadata tags including author name and email as well as commit message from CI provider environments.
- The profiler won't be ignoring its own resource usage anymore and will report it in the profiles.
Deprecation Notes
- The deprecated dbapi2 configuration has been removed. The integration-specific configuration should be used instead. Look at the v0.48.0 release notes for migration instructions.
- The reuse of a tracer that has been shut down has been deprecated. A new tracer should be created for generating new traces.
0.50.0rc7
0.49.4
Release Notes
0.49.4
Bug Fixes
-
Fixes an issue when trying to manually start the runtime metrics worker:
AttributeError: module 'ddtrace.internal.runtime' has no attribute 'runtime_metrics' -
Fixes an issue with enabling the runtime worker introduced in v0.49.0 where no runtime metrics were sent to the agent.
0.50.0rc6
0.50.0rc5
Fifth release candidate for 0.50 includes some more small changes for context management.
0.50.0rc4
Fourth 0.50 prerelease including automatic support for tagging spans with test parameters in the pytest integration.