Releases: DataDog/dd-trace-py
Releases · DataDog/dd-trace-py
0.7.0
New integrations
- Add support for
boto(>=2.29.0) andbotocore(>= 1.4.51) #209 . Currently these integrations are ignored by autopatching, but can be enabled viapatch_all(boto=True, botocore=True)
New features
- Add the
ddtrace-runcommand-line entrypoint to provide tracing without explicit additions to code. More information here http://pypi.datadoghq.com/trace/docs/#get-started #169
Bugfixes
- [dbapi] Ensure cursors play well with context managers #231
- [django] Provide a unique
datadog_djangoapp label to avoid clashes with existing app configs #235 - [pyramid] Ensure pyramid spans have method and route metadata consistent with other web frameworks #220 (thanks @johnpkennedy)
0.6.0
New integrations
- Add support for asynchronous Python. This is a major improvement that adds support for
asyncio,aiohttpandgevent(#161, docs: asyncio - aiohttp - gevent) - Add Celery integration (#135, #196, docs)
New features
- Add explicit support for Python 3.5, and 3.6 (#215, see supported versions)
- print the list of unfinished spans if the
debug_loggingis activated; useful in synchronous environments to detect unfinished/unreported traces (#210)
Bugfixes
- [mysql]
mysqlintegration is patched when usingpatch()orpatch_all()(#178) - [django] set global tracer tags from Django
DATADOG_TRACEsetting (#159) - [bottle] wrong
tracerreference whenset_service_infois invoked (#199)
Breaking changes
- Default port
7777has been replaced with the new8126available from Datadog Agent 5.11.0 and above (#212) - Removed the
ThreadLocalSpanBuffer. It has been fully replaced by theContextpropagation (#211)
Migrate from 0.5.x to 0.6.0
- Datadog Agent 5.11.0 or above is required.
- If you're using the
ThreadLocalSpanBuffermanually, you need to use the Context class in your logic so that it is compliant with theContextpropagation. Check the Advanced usage section.
Advanced usage
This is a list of new features that may be used for manual instrumentation when you're using a library or a framework that is not currently supported:
- Use
Contextpropagation instead of a global buffer. This plays well with asynchronous programming where a context switching may happen while handling different logical execution flows (#172) tracer.trace()handles automatically theContextpropagation and remains the preferable API- Add
tracer.get_call_context()to retrieve the currentContextinstance that is holding the entire trace for this logical execution (docs) - Add
start_spanas a way to manually create spans, while handling the Context propagation (docs)
Read the full changeset.
0.5.5
0.5.4
Integrations
- added the Pyramid web framework
Enhancements
tracer.set_tags()will add tags to all spans created by a tracer.span.tracer()will return the tracer that created a given span
Bug Fixes
- correctly set service types on the Mongo and Falcon integrations.
- documentation fixes
- send less data to the agent in the SQL and redis integrations.
Read the full changeset
0.5.3
Bugfixes
- [ElasticSearch] use ElasticSearch serializer so that the serialization works with dates, decimals and UUIDs #131
- [Django] use an integer value for
AGENT_PORTbecause Django recast strings as unicode strings, which invalidate the input forgetaddrinfo()in Python 2.7 #140 - [Tracer] downgrade high throughput log messages to debug so that it doesn't flood users logs #143
Compatibility
- don't check if
django.contrib.authis installed through thedjango.appsmodule. This improves the best-effort support forDjango < 1.7#136
Read the full changeset
0.5.2
0.5.1
0.5.0
Major changes
- added
msgpack-pythonas a dependency - using Trace Agent API
v0.3that supports both JSON and Msgpack formats - provided
JSONEncoderandMsgpackEncoderthat are switched at runtime the APIv0.3is not reachable (404) MsgpackEncoderis the current default encoderMsgpackEncoderwill not be used if the pure Python implementation is used
Documentation
- added ElasticSearch docs
Read the full changeset
0.4.0
0.4.0 is a "major" release of the dd-trace-py. Please test thoroughly on staging before rolling out to your production clusters.
Enhancements
- automatically patch contrib libraries with
from ddtrace import monkey; monkey.patch_all(). A few notes:- The previous ways of patching still exist, but are deprecated and might be no-ops. They will be removed in a future version.
- When you add
patch_allremove your old instrumentation code. - Web frameworks still require middleware.
- experimental support for (much faster) msgpack serialization. disabled by default. will be enabled in a future release.
Integrations
- add integration for the [Bottle](web framework) web framework. (see #86)
Bug Fixes
- correctly trace django without auth middleware (see #116)
Read the full changeset.
v0.3.16
Bugfixes
- Handle memory leaks when tracing happens in a forked process (Issue #84)
- Fix error code in spans from the request library (thanks @brettlangdon)
- Better handling of unicode tags (thanks @brettlangdon)
- Allow easy configuration of host & port in the Django integration.
Enhancements
- Cap the number of traces buffered in memory.
- Higher trace submission throughput.
- Preliminary work on gevent support. Not fully complete.
Read the full changeset