Skip to content

Update dependency ddtrace to ^0.50.0 #51

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 9, 2021
Merged

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented May 21, 2021

WhiteSource Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
ddtrace ^0.48.2 -> ^0.50.0 age adoption passing confidence

Release Notes

DataDog/dd-trace-py

v0.50.0

Compare Source

Release Notes

v0.50.0

Prelude

Major changes to context management. See the upgrade section for the specifics. Note that only advanced users of the library should be affected by these changes. For the details please refer to the Context section of the docs: https://ddtrace.readthedocs.io/en/v0.50.0/advanced_usage.html

Upgrade Notes
  • ddtrace.contrib.asyncio

    • AsyncioContextProvider can now return and activate None, Span or Context objects.
  • ddtrace.contrib.gevent

    • GeventContextProvider can now return and activate None, Span or Context objects.
  • ddtrace.contrib.tornado

    • TracerStackContext can now return and activate None, Span or Context objects.
  • ddtrace.context.Context no longer maintains the active/current span state.

    • get_current_root_span() has been removed. Use tracer.current_root_span() instead.

    • get_current_span() has been removed. Use tracer.current_span() instead.

    • add_span() has been removed. To activate a span in an execution use tracer.context_provider.activate() instead.

    • close_span() has been removed. To deactivate a span in an execution use tracer.context_provider.activate() instead.

  • ddtrace.provider.BaseContextProvider

    • active() now returns None, Span or Context objects.
    • activate() now accepts None, Span or Context objects.
  • ddtrace.tracer.Tracer

    • tracer.get_call_context() will now return a one-off Context reference. This is to maintain backwards compatibility with the API but the functionality differs slightly.
    • tracer.start_span() passing a span.context for child_of no longer adds the strong _parent reference to the new span.
  • Support for MySQL-python has been removed.

  • Support for psycopg < 2.7 has been removed.

Bug Fixes
  • Fixes an issue with enabling the runtime worker introduced in v0.49.0 where no runtime metrics were sent to the agent.

  • Fixed the handling of the Django template name tag causing type errors.

  • Fixes an issue when trying to manually start the runtime metrics worker:

    AttributeError: module 'ddtrace.internal.runtime' has no attribute 'runtime_metrics'
    
  • sanic: update instrumentation to support version 21.

  • Performance of the Celery integration has been improved.

  • Fix runtime-id and system.pid tags not being set on distributed traces.

  • The shutdown task is re-registered when a tracer is reused after it has been shut down.

  • Fixed the optional argument of Span.finish to Optional[float] instead of Optional[int].

  • The OpenTracing tracer.start_span method no longer activates spans.

  • Datadog active spans will no longer take precedence over OpenTracing active spans.

  • django: fix a bug where multiple database backends would not be instrumented.

  • django: fix a bug when postgres query is composable sql object.

  • A possible memory leak that occurs when tracing across a fork has been fixed. See #​2497 for more information.

  • Fix double patching of pymongo client topology.

New Features
  • Automated context management should now work in all asynchronous frameworks that use contextvars.

  • The Python heap profiler can now be enabled by setting the DD_PROFILING_HEAP_ENABLED environment variable to 1.

  • The pytest plugin now includes support for automatically tagging spans with parameters in parameterized tests.

  • Add new environment variables to configure the internal trace writer.

    DD_TRACE_WRITER_MAX_BUFFER_SIZE, DD_TRACE_WRITER_INTERVAL_SECONDS, DD_TRACE_WRITER_MAX_PAYLOAD_SIZE_BYTES

  • The exception profiler now gathers and exports the traces and spans information.

  • Add new DD_TRACE_AGENT_TIMEOUT_SECONDS to override the default connection timeout used when sending data to the trace agent. The default is 2.0 seconds.

  • The CI tagging for the pytest plugin now includes OS and Python Runtime metadata including system architecture, platform, version, and Python runtime name and version.

  • Add DD_CALL_BASIC_CONFIG={true,false} environment variable to control whether ddtrace calls logging.basicConfig. By default when using ddtrace-run or running in debug mode logging.basicConfig is called to ensure there is always a root handler. This has compatibility issues for some logging configurations. DD_CALL_BASIC_CONFIG=false can be used to skip calling logging.basicConfig. The default value is true to maintain existing behavior.

  • agent: support URL with a base path

  • tracer.start_span() now accepts an activate argument (default False) to allow manual context management.

  • tracer.current_trace_context() has been added to be used to access the trace context of the active trace.

  • A warning has been added to alert when gevent monkey patching is done after ddtrace has been imported.

  • Add support for Flask 2.

  • Added retry logic to the tracer to mitigate potential networking issues, like timeouts or dropped connections.

Other Notes
  • The botocore integration excludes AWS endpoint call parameters that have a name ending with Body from the set of span tags.
  • The pytest plugin now includes git metadata tags including author name and email as well as commit message from CI provider environments.
  • The profiler won't be ignoring its own resource usage anymore and will report it in the profiles.
Deprecation Notes
  • The deprecated dbapi2 configuration has been removed. The integration-specific configuration should be used instead. Look at the v0.48.0 release notes for migration instructions.
  • The reuse of a tracer that has been shut down has been deprecated. A new tracer should be created for generating new traces.

v0.49.4

Compare Source

Release Notes

0.49.4

Bug Fixes
  • Fixes an issue when trying to manually start the runtime metrics worker:

    AttributeError: module 'ddtrace.internal.runtime' has no attribute 'runtime_metrics'
    
  • Fixes an issue with enabling the runtime worker introduced in v0.49.0 where no runtime metrics were sent to the agent.

v0.49.3

Compare Source

Release Notes

0.49.3

Bug Fixes
  • django: fix a bug where multiple database backends would not be instrumented.
  • django: fix a bug when postgres query is composable sql object.

v0.49.2

Compare Source

Release Notes

v0.49.2

Bug Fixes
  • Fix double patching of pymongo client topology.

v0.49.1

Compare Source

Release Notes

v0.49.1

New Features
  • Add support for Flask 2

v0.49.0

Compare Source

Release Notes

v0.49.0

Prelude

Several deprecations have been made to Context as we prepare to move active span management out of this class.

New Features
  • The futures integration is now enabled by default.
  • requests: add global config support. This enables the requests service name to be configured with ddtrace.config.requests['service'] or the DD_REQUESTS_SERVICE environment variable.
Upgrade Notes
  • Support for aiohttp previous to 2.0 has been removed.
  • Support for deprecated DD_PROFILING_API_URL environment variable has been removed. Use DD_SITE instead.
  • Support for deprecated DD_PROFILING_API_KEY environment variable has been removed. Use DD_API_KEY instead.
  • Profiling support for agentless mode must now be explicitly enabled.
  • The ddtrace pytest plugin can now label spans from test cases marked xfail with the tag "pytest.result" and the reason for being marked xfail under the tag "pytest.xfail.reason".
  • requests: spans will no longer inherit the service name from the parent.
  • The return value of Span.pprint() has been changed to a single line in the tracer debug logs rather than the previous custom multiline format.
  • Spans are now processed per tracer instance. Formerly spans were stored per-Context which could be shared between tracer instances. Note that context management is not affected. Tracers will still share active spans.
  • Spans from asynchronous executions (asyncio, gevent, tornado) will now be processed and flushed together. Formerly the spans were handled per-task.
  • tracer.write() will no longer have filters applied to the spans passed to it.
  • The function ddtrace.utils.merge_dicts has been removed.
Deprecation Notes
  • Context.clone is deprecated. It will not be required in 0.50.
  • Context.add_span is deprecated and will be removed in 0.50.
  • Context.add_span is deprecated and will be removed in 0.50.
  • Context.close_span is deprecated and will be removed in 0.50.
  • Context.get_current_span is deprecated and will be removed in 0.50 please use Tracer.current_span instead.
  • Context.get_current_root_span is deprecated and will be removed in 0.50 please use Tracer.current_root_span instead.
  • Deprecate the configuration of the analytics through the generic dbapi2 configuration. This should now be configured via integration configurations, for example:

Before

    export DD_TRACE_DBAPI2_ANALYTICS_ENABLED=1

After

    export DD_TRACE_SQLITE3_ANALYTICS_ENABLED=1
  • ddtrace.compat has been deprecated and will be removed from the public API in ddtrace version 1.0.0.
  • Deprecate ddtrace.config.dbapi2 as default for TracedCursor and TracedConnection as well as DD_DBAPI2_TRACE_FETCH_METHODS. Use IntegrationConfig and DD_<INTEGRATION>_TRACE_FETCH_METHODS specific to each dbapi-compliant library. For example:

Before

    config.dbapi2.trace_fetch_methods = True

After

    config.psycopg2.trace_fetch_methods = True
  • The use of ddtrace.encoding has been deprecated and will be removed in version 1.0.0.
  • The ddtrace.http module has been deprecated and will be removed in version 1.0.0, with the ddtrace.http.headers module now merged into ddtrace.trace_utils.
  • The collect_metrics argument of the tracer.configure method has been deprecated. Runtime metrics should be enabled only via the DD_RUNTIME_METRICS_ENABLED environment variable.
Bug Fixes
  • Fix broken builds for Python 2.7 on windows where <stdint.h> was not available. This change also ensures we build and publish cp27-win wheels.
  • CGroup file parsing was fixed to correctly parse container ID with preceding characters.
  • grpc: handle None values for span tags.
  • grpc: handle no package in fully qualified method
  • grpc: Add done callback in streaming response to avoid unfinished spans if a StopIteration is never raised, as is found in the Google Cloud libraries.
  • grpc: handle IPv6 addresses and no port in target.
  • Fix DD_LOGS_INJECTION incompatibility when using a logging.StrFormatStyle (logging.Formatter(fmt, style="{")) log formatter.
  • Fixed a bug that prevented the right integration name to be used when trying to patch a module on import that is already loaded.
  • Fix urllib3 patching not properly activating the integration.
  • gRPC client spans are now marked as measured by default.
  • Fixes issue of unfinished spans when response is not a grpc.Future but has the same interface, as is the case with the base future class in google-api-core.
  • In certain circumstances, the profiles generated in a uWSGI application could have been empty. This is now fixed and the profiler records correctly the generated events.
  • The default agent timeout for profiling has been restored from 2 to 10 seconds to avoid too many profiles from being dropped.
  • Fix issue with missing traces when using pymemcache.client.hash.HashClient.
  • Added missing pymongo integration configuration, which allows overriding the service name for all the emitted spans.
Other Notes
  • Added environment variable DD_BOTTLE_DISTRIBUTED_TRACING to enable distributed tracing for bottle.
  • The attrs library has been unvendored and is now required as a normal Python dependency with a minimum version requirement of 19.2.0.
  • The six library has been removed from vendor and the system-wide version is being used. It requires version 1.12.0 or later.
  • Documentation on how to use Gunicorn with the gevent worker class has been added.
  • Added environment variable DD_FALCON_DISTRIBUTED_TRACING to enable distributed tracing for falcon.
  • When extracting context information from HTTP headers, a new context is created when the trace ID is either 0 or not available within the headers.
  • Added environment variable DD_PYLONS_DISTRIBUTED_TRACING to enable distributed tracing for pylons.
  • Update pymemcache test suite to test latest versions.
  • Added config.pyramid.distributed_tracing setting to integration config for pyramid.
  • Removed ddtrace.ext.AppTypes and its usages in the tracer library.
  • The ddtrace.payload submodule has been removed.
  • Added environment variable DD_TORNADO_DISTRIBUTED_TRACING to enable distributed tracing for tornado.

v0.48.4

Compare Source

Release Notes

v0.48.4

Bug Fixes
  • grpc: handle None values for span tags.
  • grpc: Add done callback in streaming response to avoid unfinished spans if a StopIteration is never raised, as is found in the Google Cloud libraries.

v0.48.3

Compare Source

Bug Fixes

  • grpc: handle no package in fully qualified method.
  • grpc: handle IPv6 addresses and no port in target.
  • grpc: client spans are now marked as measured by default.
  • grpc: fix issue of unfinished spans when response is not a grpc.Future but has the same interface, as is the case with the base future class in google-api-core.

Configuration

📅 Schedule: At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box.

This PR has been generated by WhiteSource Renovate. View repository job log here.

@renovate renovate bot force-pushed the renovate/ddtrace-0.x branch from 2920a67 to 2ff1b8e Compare July 9, 2021 22:31
@renovate renovate bot changed the title Update dependency ddtrace to ^0.49.0 Update dependency ddtrace to ^0.50.0 Jul 9, 2021
@toddbirchard toddbirchard merged commit 0bb5947 into master Aug 9, 2021
@toddbirchard toddbirchard deleted the renovate/ddtrace-0.x branch August 9, 2021 09:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants