Integrations
Celery
- Support for distributed tracing was added in 1194. It is default disabled but is easily enabled via `DD_CELERY_DISTRIBUTED_TRACING=true` or via the config API `ddtrace.config.celery['distributed_tracing'] = True`. Thanks thieman!
- Analyzed span configuration was added to easily configure Celery spans to be analyzed. This can be done via the environment variable `DD_CELERY_ANALYTICS_ENABLED=true` or with the config API `ddtrace.config.celery['analytics_enabled'] = True`.
Django
- A config option was added to allow enabling/disabling instrumenting middleware. It can be set with the environment variable `DD_DJANGO_INSTRUMENT_MIDDLEWARE=true|false` or via the config API `ddtrace.config.django['instrument_middleware'] = False default is True`.
Core
- Runtime ID tag support for traces and profiles. This will allow us to correlate traces and profiles generated by applications.
OpenTracing
- Support for `active_span()` was added to our OpenTracing tracer.
Profiling
- Storing of span id in profiling events which will enable linking between a trace and a profile in the product.
Tracer
- `DD_TAGS` environment variable added to replace `DD_TRACE_GLOBAL_TAGS`.
Changes
New features
- opentracer: implement active_span (1395)
- django: add config for instrumenting middleware (1384)
- celery: Add analyzed span configuration option (1383)
- Add runtime id tag support for traces & profiles (1379)
- profiling: retry on upload error (1376)
- tracer: Add DD_TAGS environment variable support (1315)
- celery: Add distributed tracing (1194 -- thanks thieman)
- profiling: Store span ids in profiling events (1043)
Improvements
- monkey: add better error messages (1430)
- Make hooks settings generic (1428)
- internal: Change trace too large message to debug (1403 -- thanks ZStriker19)
- internal: Ensure queue is at or over max size before dropping (1399)
- performance: improve span id generation (1378)
Bug fixes
- hooks: use log.error to log hook exceptions (1436)
- writer: raise RuntimeError("threads can only be started once") (1425 -- thanks YasuoSasaki)
- settings: pass the `memodict` argument to subcall to deepcopy (1401)
- profiling: correct the scheduler sleep time based on exporter time (1386)
- integration config: copy and deepcopy implementations (1381)
- utils: do not expose deepmerge function (1375)
Documentation
- Updated to pypi advance usage docs (1402)
Testing
- update tests to latest versions of libraries (1434, 1433, 1432, 1424, 1423, 1422, 1421, 1420, 1419, 1418, 1417, 1416, 1412, 1411, 1410, 1409, 1408, 1407, 1406, 1405)
- circleci: remove unused busybox (1426)
---