Ddtrace

Latest version: v2.17.3

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

Scan your dependencies

Page 27 of 44

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.

---

0.45.0

Prelude

Build and deploy Python 3.9 wheels for releases

Upgrade Notes

- Context.get() has been removed and the functionality has been rolled into Context.close_span().
- Tracer.record() has similarly been removed as it is no longer useful with Context.get() removed.
- The deprecated compatibility module <span class="title-ref">ddtrace.profile</span> has been removed.
- The profiler now uses the tracer configuration is no configuration is provided.

Deprecation Notes

- The <span class="title-ref">pyddprofile</span> wrapper is deprecated. Use <span class="title-ref">DD_PROFILING_ENABLED=true ddtrace-run</span> instead.
- The profiler does not catch uncaught exception anymore.

New Features

- botocore: added <span class="title-ref">distributed_tracing</span> configuration setting which is enabled by default.

- The ddtrace-run command now supports the following arguments:
-h, --help -d, --debug enable debug mode (disabled by default) -i, --info print library info useful for debugging -p, --profiling enable profiling (disabled by default) -v, --version show program's version number and exit

It now also has friendlier error messages when used incorrectly.

- Add functionality to call gevent.monkey.patch_all() with ddtrace-run by setting the environment variable DD_GEVENT_PATCH_ALL=true. This ensures that gevent patching is done as early as possible in the application.

- botocore: inject distributed tracing data to <span class="title-ref">ClientContext</span> to trace lambda invocations.

- botocore: inject tracing data to <span class="title-ref">MessageAttributes</span>.

- The profiler now tracks the running gevent Greenlet and store it as part of the CPU and wall time profiling information.

- The profiler is now able to upload profiles to the Datadog Agent by using a Unix Domain Socket.

- It is now possible to pass a <span class="title-ref">url</span> parameter to the <span class="title-ref">Profiler</span> to specify the Datadog agent location.

- The new memory profiler for Python is now enabled by default. This improves the profiler memory consumption and performance impact. It can still be disabled by setting <span class="title-ref">DD_PROFILING_MEMALLOC=0</span> as an environment variable.

- The profiler now uses the tracer configuration is no configuration is provided.

- pytest integration. This enables the [pytest](https://pytest.org) runner to trace test executions.

Bug Fixes

- core: always reset the current_span in the context.
- django: Http404 exceptions will no longer be flagged as errors
- django: add safe guards for building http.url span tag.
- aiobotocore: set span error for 5xx status codes.
- elasticsearch: set span error for 5xx status codes.
- django, DRF, ASGI: fix span type for web request spans.
- Fixes span id tagging in lock profiling.
- Fix UDS upload for profiling not using the correct path.
- Fixed an issue in profiling exporting profiles twice when forking.
- core: fix race condition in TracerTagCollector.

Other Changes

- Start-up logs are now disabled by default. To enable start-up logs use <span class="title-ref">DD_TRACE_STARTUP_LOGS=true</span> or <span class="title-ref">DD_TRACE_DEBUG=true</span>.

---

0.44.1

Bug Fixes

- Fixes span id tagging in lock profiling.

---

0.44.0

Prelude

Add support for Python 3.9

New Features

- Store request headers in Flask integration.
- pyodbc integration. This enables the [pyodbc](https://github.com/mkleehammer/pyodbc) library to trace queries.
- starlette integration resource aggregation This aggregates endpoints to the starlette application resource that was accessed. It occurs by default but it is configurable through config.starlette\["aggregate_resources"\].
- The profiler now captures the traces information with the lock profiling.
- The Profiler instances now restart automatically in child process when the main program is forked. This only works for Python ≥ 3.7.

Bug Fixes

- dbapi: add support for connection context manager usage
- django: check view before instrumenting MRO.
- core: use loose types when encoding.
- Patch pynamodb on import to prevent patching conflicts with gevent.
- tornado: handle when the current span is None in log_exception().

---

0.43.0

- fix(django): avoid mixing str and non-str args for uri helper
- fix(asgi): tag 500-level responses as errors
- fix(asgi): set http status when exception raised
- fix(rediscluster): support rediscluster==2.1.0
- fix(asyncio): enable patch by default
- fix(asyncio): patch base event loop class
- fix(vertica): use strings in `__all__`
- feat(core): backport contextvars
- fix(sanic): fix patching for sanic async http server (1659)
- fix(flask): make template patching idempotent
- fix(core): Do not rate limit log lines when in debug
- fix(profiling): Fix a potential deadlock on profiler restart after fork()

---

Page 27 of 44

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.