Skip to content

Releases: DataDog/dd-trace-py

0.18.0

12 Dec 21:12
a0bdd48

Choose a tag to compare

New Integrations

  • [molten] Add molten support (#685)

Bug Fixes

  • [aws] Blacklist arguments stored as tags (#761)
  • [psycopg2] Fix composable query tracing (#736)

Improvements

  • [aiohttp] Add HTTP method to the root span resource (#652 -- thanks @k4nar)
  • [aws]Flatten span tag names (#768)
  • [opentracer] Set global tags (#764)
  • [core] add six and replace custom compat functions (#751)
  • [config] make IntegrationConfig an AttrDict (#742)
  • [tests] remove unused monkey.py test file (#760)
  • [tests] fix linting in test files (#752)
  • [psycopg2] fix linting issues (#749)
  • [tests] have most tests use pytest test runner (#748)
  • [tests] Provide default implementation of patch test methods (#747)
  • [tests] run flake8 on all test files (#745)
  • [tests] Add patch mixin and base test case (#721)
  • [tests] Add Subprocess TestCase (#720)

Read the full changeset and the release milestone.

0.17.1

05 Dec 21:51
47ecf1d

Choose a tag to compare

This release includes the removal of service sending, this should resolve many of the 400s that are being returned from the Agent resulting in an unfriendly ERROR message and giving the impression that the tracer is failing. (#757)

Improvements

  • [core] Make writing services a no-op (#735)
  • [tests] upgrade flake8 to 3.5.0 (#743)
  • remove flake8 ignores and fix issues (#744)

Read the full changeset and the release milestone.

0.17.0

28 Nov 17:37
6656236

Choose a tag to compare

New features

  • [redis] add support for redis 3.0.0 (#716)
  • [core] Allow DD_AGENT_HOST and DD_TRACE_AGENT_PORT env variables (#708)
  • [core] Add global tracer tags (#702)
  • [core] Trace http headers (#647)

Improvements

  • [docs] add Flask configuration documentation (#734)
  • Add long_description to setup.py (#728)
  • [tests] pin version of redis-py-cluster for 'tox -e wait' (#725)
  • [requests] Add another split_by_domain test (#713)
  • [docs] Add kombu references (#711)
  • [ci] Use small circleci resource class for all jobs (#710)
  • [requests] patch Session.send instead of Session.request (#707)
  • [ci] reorganize CircleCI workflows (#705)
  • [elasticsearch] add support for elasticsearch{1,2,5} packages (#701)
  • [tests] add base test case classes and rewrite tracer tests (#689)
  • [dbapi] Trace db fetch and session methods (#664)

Bugfixes

  • [elasticsearch] add alias for default _perform_request (#737)
  • [tests] Pin pytest to 3.x.x and redis to 2.10.x for rediscluster (#727)
  • [django] Use a set instead of list for cache_backends to avoid duplicates (#726 -- thanks @wenbochang)
  • [tests] fix broken redis check (#722)
  • [docs] Fix broken flask link (#712)
  • [mongodb] Fix pymongo query metadata (#706)

Read the full changeset and the release milestone.

0.16.0

13 Nov 16:18
4e5acbd

Choose a tag to compare

New Integrations

  • [jinja2] Add jinja2 integration (#649 -- thanks @mgu)
  • [kombu] add Kombu integration (#515 -- thanks @tebriel)
  • [grpc] Add grpc client support. (#641)
  • [gevent] Support gevent 1.3 (#663)
  • [flask] rewrite Flask integration (#667)

Bug Fixes

Improvements

  • [core] Add IntegrationConfig helper class (#684)
  • [core] add support for integration span hooks (#679)
  • [httplib, requests] Sanitize urls in span metadata (#688)
  • [tests] ensure we are running tests.contrib.test_utils (#678)
  • [celery] [bottle] Add span type information for celery and bottle. (#636)
  • [ci] Reorganize autopatch test calls (#670)
  • [core] initial support for partial flushes (#668)
  • [django] Remove query from django db span's tag sql.query (#659)
  • [tests] Make CI faster by disabling dist and install in autopatching tests (#654)
  • [core] Trace http headers (#647)
  • [django] Infer span resource name when internal error handler is used (#645)
  • [elasticsearch] Make constant organization consistent with other integrations (#628)

Read the full changeset and the release milestone.

0.15.0

16 Oct 19:01
1c5a3ba

Choose a tag to compare

New integrations

Bug fixes

  • [django] Fix minimum Django version for user.is_authenticated property (#626 -- thanks @browniebroke)

Improvements

  • [celery] Add retry reason metadata to spans (#630)
  • [core] Update config to allow configuration before patching (#650)
  • [core] Add Tracer API to retrieve the root Span (#625)
  • [core] Fixed HTTPConnection leaking (#542 -- thanks @mackeyja92)
  • [django] Allow Django cache to be seen as a different service. (#629)
  • [gevent] Patch modules on first import (#632)
  • [gevent] Add support for gevent.pool.Pool and gevent.pool.Group (#600)
  • [redis] Removed unused tag (#627)
  • [requests] Patch modules on first import (#632)
  • [tests] Add Span.span_type tests (#633)
  • [tests] Update the integrations libraries versions to the latest possible. (#607)
  • [tests] CircleCI run tests in the new alpine-based test runner (#638)
  • [tests] Add test cases for API._put (#640)
  • [tests] Skip flaky TestWorkers.test_worker_multiple_traces test case (#643)
  • [tests] Remove tests for not supported gevent 1.3 (#644)

Read the full changeset and the release milestone.

0.14.1

25 Sep 16:05
ce33848

Choose a tag to compare

Bug fixes

  • [opentracer] Activate span context on extract (#606, #608)
  • [opentracer] Fix "does not provide the extra opentracing" (#611, #616)

Improvements

  • [docs] Clarify debug mode (#610)
  • [docs] Fix docstring for Tracer.set_tags (#612 -- thanks @goodspark)
  • [docs] Add priority sampling to ddtrace-run usage (#621)
  • [circleci] Imrpve python docs deployment strategy (#615)
  • [tests] Refactor tox.ini file (#609)
  • [tests] Improve performance of tests execution (#605)

Read the full changeset and the release milestone.

0.14.0

11 Sep 18:28
8462869

Choose a tag to compare

OpenTracing

In this release we are happy to introduce the beta for the long-awaited OpenTracing compatible API layer for ddtrace!

Support for opentracing>=2.0.0 is provided in this release. Namely, the following are supported:

  • start_span/start_active_span
  • inject and extract functionality
  • baggage, through set_baggage_item and get_baggage_item
  • compatible tags from the OpenTracing specification
  • scope manager support
  • seamless integration with the Datadog tracer when using ddtrace-run

For setup information and usage see our docs for the Datadog OpenTracing tracer.

CI Improvements

Also included in this release are some optimizations to our CI which should get things running a bit quicker.

Thanks @labbati!

Read the full changeset and the release milestone.

0.13.1

04 Sep 15:48

Choose a tag to compare

Bug fixes

  • [core] remove the root logger configuration within the library (#556)

Read the full changeset and the release milestone.

0.13.0

23 Aug 12:53

Choose a tag to compare

New integrations

Celery integration

Due to some limitations with our Celery integration, we changed our instrumentation to a signals based approach. We also started using import hooks to instrument Celery, so that enabling the instrumentation doesn't trigger a celery import.

Breaking changes
Using the signal based approach increase the stability of our instrumentation, but it limits what is currently traced. This is a list of changes that are considered breaking changes in the behavior and not in the API, so no changes are needed in your code unless you want a different behavior:

  • By default all tasks will be traced if they use the Celery signals API, so tasks invoked with methods like apply(), apply_async() and delay() will be traced but tasks invoked with run() will not be traced.
  • patch_task() is deprecated; if it's used, all tasks will be instrumented

Bug fixes

  • [core] check if bootstrap dir is in path before removal (#516 -- thanks @beezz!)
  • [core] have hostname default to DATADOG_TRACE_AGENT_HOSTNAME environment variable if available (#509, #524 -- thanks @hfern!)
  • [core] add WSGI-style http headers support to HTTP propagator (#456, #522)
  • [core] Enable buffering on getresponse (#464, #527)
  • [core] configure the root logger (#536)
  • [aiopg] set the app_type during initialization (#492, #507)
  • [boto] default to None if no region (#525, #526)
  • [flask] avoid double instrumentation when TraceMiddleware is used (#538)
  • [pymongo] fix multiple host kwargs (#535)
  • [tornado] make settings object accessible during configuration (#499, #498 -- thanks @kave!)

Improvements

  • [core/helpers] add a shortcut to retrieve Trace correlation identifiers (#488)

Read the full changeset and the release milestone.

0.12.1

14 Jun 09:08

Choose a tag to compare

Bugfixes

  • [celery] add support for celery v1 tasks (old-style tasks) (#465, #423)
  • [celery] ddtrace-run broke third-party script support; now it handles correctly the argv params (#469, #423)
  • [celery] patch TaskRegistry to support old-style task with ddtrace-run (#484)
  • [django] update error handling if another middleware has handled the exception already (#418, #462)
  • [django] DatabaseWrapper loaded in right thread, after removing setting_changed signal from the DatadogSettings (#481, #435)
  • [django/celery] add shared_task decorator wrapper to trace properly Celery tasks (#486, #451)
  • [django/docs] notes about Debug Mode, and debugging (#476 -- thanks @ndkv!)
  • [gevent] pass sampling_priority field when Distributed Tracing is enabled (#457)
  • [mysqlb] add missing services info when they're flushed (#468, #428)
  • [psycopg2] properly patch the driver when quote_ident typing is used (#477, #474, #383)
  • [pylons] ensure the middleware code is Python 3 compatible to avoid crashes on import (#475, #472)
  • [requests] add missing services info when they're flushed (#471, #428)

Read the full changeset and the release milestone.