0.58.0rc1
Pre-release
Pre-release
New Features
- botocore: add distributed tracing support for AWS EventBridge, AWS SNS & AWS Kinesis.
- Add
ddtrace.Tracer.agent_trace_urlandddtrace.Tracer.flush. - Only for CI Visibility (
pytestintegration): remove traces whose root span is not a test.
Deprecation Notes
- HttpServerConfig is no longer part of the public API.
ddtrace.Span.metahas been deprecated. Useddtrace.Span.get_tagandddtrace.Span.set_taginstead.ddtrace.Span.pprintis deprecated and will be removed in v1.0.ddtrace.Tracer.writeris deprecated. To force flushing of buffered traces to the agent, useddtrace.Tracer.flushinstead.
Bug Fixes
- Fix application crash on startup when using
channels >= 3.0. - Fix parenting of Redis command spans when using aioredis 1.3. Redis spans should now be correctly attributed as child of any active parent spans.
- Fixes incompatibility of wrapped aioredis pipelines in
async withstatements. - Fixes issue with aioredis when empty pool is not available and execute returns a coroutine instead of a future. When patch tries to add callback for the span using add_done_callback function it crashes because this function is only for futures.
- Escape non-Unicode bytes when decoding aioredis args. This fixes a
UnicodeDecodeErrorthat can be thrown from the aioredis integration when interacting with binary-encoded data, as is done in channels-redis. - Ensure
geventis automatically patched. - grpc: ensure grpc.intercept_channel is unpatched properly
- Fix JSON encoding error when a
bytesstring is used for span metadata. - Profiler raises a typing error when
Span.resourceis unicode on Python 2.7. - Fix a bug in the heap profiler that could be triggered if more than 2^16 memory items were freed during heap data collection.
- Fix a possible bug in the heap memory profiler that could trigger an overflow when too many allocations were being tracked.
- Fix an issue in the heap profiler where it would iterate on the wrong heap allocation tracker.
- Pymongo instrumentation raises an AttributeError when
tracer.enabled == False