New Features
- aiohttp: add split_by_domain config to split service name by domain
- CI Visibility: Adds code coverage lines covered tag for
pytest
andunittest
. - aiohttp: Adds http.route tag to
aiohttp.request
spans. - bottle: Adds http.route tag to
bottle.request
spans. - falcon: Adds http.route tag to
falcon.request
spans. - molten: Adds http.route tag to
molten.request
spans. - Adds distributed tracing for confluent-kafka integration. Distributed tracing connects Kafka consumer spans with Kafka producer spans within the same trace if a message is valid. To enable distributed tracing, set the configuration:
DD_KAFKA_DISTRIBUTED_TRACING_ENABLED=True
for both the consumer and producer service. - ASM: This introduces (experimental) api security support for fastAPI. Flask and Django were already supported in 2.4.0. Support schema computation on all addresses (requests and responses) and scanner support for pii, credentials and payment data.
- CI Visibility: introduces a CI visibility-specific logger (enabled for the
pytest
plugin), enabled by setting theDD_CIVISIBILITY_LOG_LEVEL
environment variable (with the same level names as Python logging levels). - CI Visibility: allows for waiting for the git metadata upload to complete before deciding whether or not to enable coverage (based on API response).
- Further lazy loads telemetry_writer so that it is not running when explicitly disabled. Users must explicitly set "DD_INSTRUMENTATION_TELEMETRY_ENABLED=false".
- tracer: Add support for remotely configuring trace tags.
Bug Fixes
-
loguru: Ensures log correlation is enabled when the root logger is initialized. Previously, log correlation was only enabled when a new sink was added.
-
Fix compatibility with other tools that try to infer the type of a Python object at runtime.
-
tracing: Fixes a bug that prevents span links from being visualized in the Datadog UI.
-
tracing: Resolves span encoding errors raised when span links do not contain expected types
-
ASM: This fix resolves an issue where custom event boolean properties were not reported as true and false like other tracers but as True and False.
-
Vulnerability Management for Code-level (IAST): Ensure that Cookies vulnerabilities report only the cookie name.
-
langchain: This fix resolves an
get_openai_token_cost_for_model
import error in langhcain version 0.0.351 or later. -
ASM: This fix resolves an issue where IAST could cause circular dependency at startup.
-
tracing: Ensures all fields in
ddtrace.context.Context
are picklable. -
pytest: This fix resolves an issue where the --no-cov flag did not take precedence over the --cov flag when deciding whether to report code coverage on spans.
-
rq: Fixed a bug where the RQ integration would emit a warning when setting
job.status
span tag. -
IAST: Don't split AST Assign nodes since it's not needed for propagation to work.
-
Fix an issue that caused an exception to be raised when trying to access resource files via
pkg_resources
. -
Fix for an import issue that caused the pytest plugin to fail to properly initialize a test session and exit with an import exception.
-
opentelemetry: Ensures that span links are serialized in a json-compatible representation.
-
otel: Ensures all otel sampling decisions are consistent with Datadog Spans. This prevents otel spans in a distrbuted trace from being sampled differently than Datadog spans in the same trace.
-
tracing: Fix an issue where remote configuration values would not be reverted when unset in the UI.
-
openai: This fix resolves an issue where an internal OpenAI method SyncAPIClient._process_response
was not being patched correctly and led to to an AttributeError while patching. -
tracing: Ensures span links are serialized with the expected traceflag when
DD_TRACE_API_VERSION=v0.4