v0.47.0
Upgrade Notes
- The profiler now automatically sets up uWSGI compatibility in auto mode or with
profile_children=True
. Make sure that you don't have custom code instrumenting the profiler in those cases. - The
Tracer
class propertiesDEFAULT_HOSTNAME
,DEFAULT_PORT
,DEFAULT_DOGSTATSD_PORT
,DEFAULT_DOGSTATSD_URL
,DEFAULT_AGENT_URL
have been removed. - elasticsearch: removed
get_traced_transport
method andddtrace.contrib.elasticsearch.transport
module.
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
query_string
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 Notes
- The default maximum CPU time used for the stack profiler (CPU time, wall time and exceptions profiling) has been decreased from 2% to 1%.