New Features
-
Add tracing support for
aiomysql>=0.1.0
. -
Add support for
grpc.aio
. -
botocore: allow defining error status codes for specific API operations.
See our botocore document for more information on how to enable this feature.
-
ciapp: detect code owners of PyTest tests
-
The memory profile collector can now entirely disabled with the
DD_PROFILING_MEMORY_ENABLED
environment variable. -
psycopg2: add option to enable tracing
psycopg2.connect
method.See our psycopg2 documentation for more information.
-
Add asyncio support of redis ≥ 4.2.0
Upgrade Notes
- The profiler
asyncio_loop_policy
attribute has been renamed toasyncio_loop_policy_class
to accept a user-defined class. This guarantees the same asyncio loop policy class can be used process children.
Bug Fixes
-
Fixes deprecation warning for
asyncio.coroutine
decorator. -
internal: normalize header names in ASM
-
profiling: implement
__aenter__
and__aexit__
methods onasyncio.Lock
wrapper. -
tracing: fix issue with
ddtrace-run
having the wrong priority order of tracer host/port/url env variable configuration. -
django,redis: fix unicode decode error when using unicode cache key on Python 2.7
-
fastapi/starlette: when using sub-apps, formerly a call to
/sub-app/hello/{name}
would give a resource name of/sub-app
. Now the full path/sub-app/hello/{name}
is used for the resource name. -
sanic: Don't send non-500s error traces.
-
pin protobuf to version
>=3,<4
due to incompatibility with version4.21
. -
Fixes a performance issue with the profiler when used in an asyncio application.
-
The profiler now copy all user-provided attributes on fork.
-
pytest: Add note for disabling ddtrace plugin as workaround for side-effects
-
Set required header to indicate top level span computation is done in the client to the Datadog agent. This fixes an issue where spans were erroneously being marked as top level when partial flushing or in certain asynchronous applications.
The impact of this bug is the unintended computation of stats for non-top level spans.
Other Notes
- The default number of events kept by the profiler has been reduced to decreased CPU and memory overhead.