Ddtrace

Latest version: v2.8.5

Safety actively analyzes 630026 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 17 of 34

0.48.3

---

Bug Fixes

- grpc: handle no package in fully qualified method
- grpc: handle IPv6 addresses and no port in target.
- gRPC client spans are now marked as measured by default.
- Fixes issue of unfinished spans when response is not a <span class="title-ref">grpc.Future</span> but has the same interface, as is the case with the base future class in <span class="title-ref">google-api-core</span>.

0.48.2

---

Bug Fixes

- The default agent timeout for profiling has been restored from 2 to 10 seconds to avoid too many profiles from being dropped.

---

0.48.1

Bug Fixes

- Fix `urllib3` patching not properly activating the integration.
- In certain circumstances, the profiles generated in a uWSGI application could have been empty. This is now fixed and the profiler records correctly the generated events.

---

0.48.0

Upgrade Notes

- The deprecated <span class="title-ref">dogstatsd_host</span> and <span class="title-ref">dogstatsd_port</span> arguments to <span class="title-ref">tracer.configure()</span> have been removed.
- Support for gevent 1.0 has been removed and gevent \>= 1.1 is required.
- flask: deprecated configuration option <span class="title-ref">extra_error_codes</span> has been removed.
- The deprecated `pyddprofile` wrapper has been removed. Use `ddtrace-run` with `DD_PROFILING_ENABLED=1` set instead.
- A <span class="title-ref">ValueError</span> will now be raised on tracer initialization if the Agent URL specified to the initializer or with the environment variable <span class="title-ref">DD_TRACE_AGENT_URL</span> is malformed.
- **uWSGI** is no longer supported with `ddtrace-run` due to a limitation of how tracer initialization occurs. See the updated instructions for enabling tracing in the library `uWSGI documentation<uwsgi>`.

New Features

- dogpile.cache: is now automatically instrumented by default.
- pylons: now supports all the standard http tagging including query string, custom error codes, and request/response headers.
- The ddtrace pytest plugin can now call `ddtrace.patch_all` via the `--ddtrace-patch-all` option.
- `Span` now accepts a `on_finish` argument used for specifying functions to call when a span finishes.
- Adds support for the Datadog Lambda Extension. The tracer will send traces to the extension by default if it is present.
- Add support for space-separated <span class="title-ref">DD_TAGS</span>.
- urllib3: add urllib3 integration

Bug Fixes

- The `Records` parameter to `Firehose` endpoint calls is being excluded from the tags to avoid generating traces with a large payload.
- Tracer: fix configuring tracer with dogstatsd url.
- elasticsearch: patch versioned elasticsearch modules (elasticsearch1, ..., elasticsearch7).
- botocore: Do not assume that ResponseMeta exists in the results.
- django: handle erroneous middleware gracefully.
- The tracer now captures the task ID from the cgroups file for Fargate \>= 1.4.0 and reports it to the agent as the Datadog-Container-ID tag.
- Fix a bug when tracing a mako `DefTemplate` or any `Template` that does not have a `filename` property.
- flask: fix a bug when the query string would contain non-Unicode characters
- Fix a formatting issue on error exporting profiles.
- A workaround is provided for the problem with uWSGI worker processes failing to respawn. This can occur when using `ddtrace-run` for automatic instrumentation and configuration or manual instrumentation and configuration without the necessary uWSGI options. The problem is caused by how the tracer can end up starting threads in the master process before uWSGI forks to initialize the workers processes. To avoid this, we have provided updated instructions for enabling tracing in the library `uWSGI documentation<uwsgi>`.

Other Changes

- The logic behind the header extraction for distributed tracing has been improved.
- The default connection timeout for the profiling agent has now been reduced from 10 to 2 seconds to match the tracer behavior.
- The tracemalloc memory profiler, which was disabled by default, has been removed.
- Query strings are stripped out from URLs by default when setting URL metadata on a span. This change affects all integrations that store HTTP metadata, like aiohttp, falcon, requests, urllib3.

---

0.47.0

Upgrade Notes

- elasticsearch: removed <span class="title-ref">get_traced_transport</span> method and <span class="title-ref">ddtrace.contrib.elasticsearch.transport</span> module.
- The profiler now automatically sets up uWSGI compatibility in auto mode or with <span class="title-ref">profile_children=True</span>. Make sure that you don't have custom code instrumenting the profiler in those cases.
- The `Tracer` class properties DEFAULT_HOSTNAME, DEFAULT_PORT, DEFAULT_DOGSTATSD_PORT, DEFAULT_DOGSTATSD_URL, DEFAULT_AGENT_URL have been removed.

New Features

- cherrypy: introduce TraceMiddleware for the CherryPy web framework.
- django: tag root spans as measured.
- elasticsearch: add support for version 7.
- fastapi: add integration.
- Introduce support for the DD_SERVICE_MAPPING environment variable to allow remapping service names on emitted spans.
- httplib: distributed tracing is now enabled by default.
- The profiler now supports most operation mode from uWSGI without much configuration. It will automatically plug itself in post fork hooks when multiprocess mode is used.
- wsgi: add tracing middleware.

Bug Fixes

- Resolves an issue in Django tracing where, if <span class="title-ref">query_string</span> is not present in request.META, a KeyError is raised, causing the request to 500
- Deprecate the DD_LOGGING_RATE_LIMIT variable in favor of the standard DD_TRACE_LOGGING_RATE for configuring the logging rate limit.
- sampler: removed bug causing sample_rate of 0 to be reset to 1, and raise ValueError instead of logging.
- starlette: unpatch calls correctly.
- flask: fix memory leak of sampled out traces.
- Fix CPU time and wall time profiling not ignoring the profiler tasks with gevent.

Other Changes

- The default maximum CPU time used for the stack profiler (CPU time, wall time and exceptions profiling) has been decreased from 2% to 1%.

---

0.46.0

Upgrade Notes

- The profiler will only load tags from the DD_TAGS environment variable once at start.

Deprecation Notes

- flask: Use `HTTP Custom Error Codes <http-custom-error>` instead of `ddtrace.config.flask['extra_error_codes']`.

New Features

- aiohttp: store request and response headers.
- bottle: store request and response headers.
- flask: store response headers.
- molten: store request headers.
- pyramid: store request and response headers.
- flask: store request and response headers when auto-instrumented.
- The <span class="title-ref">ddtrace.profiling.auto</span> module will warn users if gevent monkey patching is done after the profiler is auto-instrumented.
- The <span class="title-ref">Profiler</span> object can now be passed tags with the <span class="title-ref">tags</span> keyword argument.

Bug Fixes

- dbapi: avoid type error with potential non-compliance in db libraries when setting tag for row count.
- django: add legacy resource format of <span class="title-ref">{handler}</span>.
- grpc: fix wrapper for streaming response to support libraries that call an internal method directly.
- sanic: use path parameter names instead of parameter values for the resource.
- The profiler won't deadlock on fork when gevent monkey patch is enabled.
- requests: fix TracedSession when patches are not applied.

---

Page 17 of 34

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.