Skip to content
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

Bump ddtrace from 2.1.7 to 2.8.0 #26

Closed
wants to merge 1 commit into from

Conversation

dependabot[bot]
Copy link

@dependabot dependabot bot commented on behalf of github Apr 5, 2024

Bumps ddtrace from 2.1.7 to 2.8.0.

Release notes

Sourced from ddtrace's releases.

2.8.0

Prelude

tracing: This release adds support for lazy sampling, essentially moving when we make a sampling decision for a trace to the latest possible moment. These include the following:

  1. Before encoding a trace chunk to be sent to the agent
  2. Before making an outgoing request via HTTP, gRPC, or a DB call for any automatically instrumented integration
  3. Before running os.fork()

For most users this change shouldn't have any impact on their traces, but it does allow for more flexibility in sampling (see features release note). It should be noted that if a user has application egress points that are not automatically instrumented, to other Datadog components (downstream instrumented services, databases, or execution context changes), and rely on the Python tracer to make the sampling decision (don't have an upstream service doing this), they will need to manually run the sampler for those traces, or use HttpPropagator.inject(). For more information please see the following: https://ddtrace.readthedocs.io/en/stable/advanced_usage.html#distributed-tracing https://ddtrace.readthedocs.io/en/stable/advanced_usage.html#tracing-context-management

Deprecation Notes

  • tracing: Deprecates support for ddtrace.contrib.asyncio.AsyncioContextProvider. ddtrace fully supports tracing across asyncio tasks. Asyncio no longer requires additional configurations.
  • tracing: tracer.sampler is deprecated and will be removed in the next major version release. To manually sample please call tracer.sample instead.
  • gevent: Deprecates ddtrace.contrib.gevent.provider.GeventContextProvider. Drops support for gevent<20.12.0 and greenlet<1.0.

New Features

  • DSM: Adds base64 format for encoding and decoding DSM context hash.
  • botocore: adds dsm payload size stats for botocore messaging services of kinesis, sqs and sns.
  • botocore: Adds support to the bedrock integration for tagging input and output messages.
  • langchain: This introduces support for langchain==0.1.0. Note that this does not have tracing support for deprecated langchain operations. Please follow the langchain upgrade guide or the langchain integration :ref: docs<langchain> to enable full tracing support.
  • dramatiq: Adds automatic tracing of the dramatiq library.
  • tracing: Added support for lazy sampling, the benefit of which is the ability to make a sampling decision using DD_TRACE_SAMPLING_RULES based on any span attribute (service, resource, tags, name) regardless of when the value for the attribute is set. This change is particularly beneficial for sampling on tags, since the vast majority of tags are set after the span is created. Since sampling was previously done at span creation time, this meant that those tags could not be used for sampling decisions.
  • openai: Adds support for tagging streamed responses for completion and chat completion endpoints.
  • profiling: implement an experimental stack sampling feature, which can be enabled by setting DD_PROFILING_STACK_V2_ENABLED=true. This new sampler should resolve segfault issues on Python 3.11 and later, while also decreasing the latency contribution of the profiler in many situations, and also improving the accuracy of stack-sampling data. This feature is currently only available on Linux using CPython 3.8 or greater. Requires DD_PROFILING_EXPORT_LIBDD_ENABLED=true to be set.
  • botocore: Changes botocore aws kinesis contrib to set DSM pathway using extracted DSM context, if found, instead of always using a new pathway with default context.
  • kafka: Adds tracing and DSM support for confluent_kafka.Consumer.consume(). Previously only confluent_kafka.Consumer.poll was instrumented.

Bug Fixes

  • otel: Ensures that the last datadog parent_id is added to w3c distributed tracing headers generated by the OpenTelemetry API.
  • ASM: This fix resolves an issue where a valid user may trigger a failed login event.
  • ASM: always clear the DDWaf context at the end of the span to avoid gc-induced latency spikes at the end of some requests.
  • ASM: This fix resolves an issue where django login failure events may send wrong information of user existence.
  • Vulnerability Management for Code-level (IAST): Some native exceptions were not being caught correctly by the python tracer. This fix remove those exceptions to avoid fatal error executions.
  • CI Visibility: fixes an issue where git author or committer names containing commas (eg: "Lastname, Firstname") would not work (and log an error) due to the use of comma as a separator.
  • propagation: This fix resolves an issue where the sampling decision-maker tag in tracestate propagation headers was clobbered by a default value.
  • datastreams: Changed DSM processor error logs to debug logs for a statement which is retried. If all retries fail, the stack trace is included
  • internal telemetry: Ensures heartbeat events are sent at regular intervals even when no other events are being sent.
  • Fix an incompatibility between the handling of namespace module imports and parts of the functionalities of the standard library importlib module.
  • internal: This fix resolves an issue where importing the ddtrace.appsec._iast._patches module would fail raising an ImportError
  • internal: This fix resolves an issue where importing the ddtrace.internal.peer_service module would fail raising an ImportError
  • langchain: Ensures langchain vision APIs are correctly instrumented
  • Fix for the declaration of dependencies for the package.
  • internal: This fix resolves an issue where importing the ddtrace.contrib.botocore.services module would fail raising an ImportError
  • profiling: handle unexpected stack data to prevent the profiler from stopping.
  • starlette: Fix a bug that crashed background tasks started from functions without a __name__ attribute
  • ASM: This fix resolves an issue where the asgi middleware could crash with a RuntimeError "Unexpected message received".

... (truncated)

Changelog

Sourced from ddtrace's changelog.

Changelog

Changelogs for versions not listed here can be found at https://github.com/DataDog/dd-trace-py/releases


2.7.6

Bug Fixes

  • Profiling: This fix resolves an issue where the profiler was forcing protobuf to load in injected environments,
    causing crashes in configurations which relied on older protobuf versions. The profiler will now detect when injection is used and try loading with the native exporter. If that fails, it will self-disable rather than loading protobuf.

2.7.5

New Features

  • kafka: Adds tracing and DSM support for confluent_kafka.Consumer.consume(). Previously only confluent_kafka.Consumer.poll was instrumented.

Bug Fixes

  • ASM: always clear the DDWaf context at the end of the span to avoid gc-induced latency spikes at the end of some requests.
  • internal: This fix resolves an issue where importing the ddtrace.contrib.botocore.services module would fail raising an ImportError
  • setuptools_scm version: Updates the setuptools_scm versioning method to "guess-next-dev" from "release-branch-semver", which was affecting the CI
  • structlog: Fixes error where multiple loggers would duplicate processors. Also adds processors injection when resetting to defaults.

2.6.9

Bug Fixes

  • propagation: This fix resolves an issue where the sampling decision-maker tag in tracestate propagation headers was clobbered by a default value.
  • langchain: Ensures langchain vision APIs are correctly instrumented
  • ASM: This fix resolves an issue where the asgi middleware could crash with a RuntimeError "Unexpected message received".
  • kafka: This fix resolves an issue where None messages from confluent-kafka could cause crashes in the Kafka integration.

v2.6.0

Upgrade Notes

... (truncated)

Commits
  • 1b69dcb fix(iast): remove native exceptions [backport 2.8] (#8853)
  • eb635dd chore(profiling): add non-running tests for stack v2 (#8576)
  • 6c68609 chore: depend on ddsketch 3 (#8810)
  • ad2fe25 ci: parallel system tests (#8813)
  • bf29575 chore(serverless): add more upstream variables for benchmark notification (#8...
  • 689c9be docs: note that gevent instrumentation is automatic in table (#8819)
  • 64c6c26 fix(starlette): don't crash on functions without __name__ (#8812)
  • 907b7e8 ci(telemetry): expect observed test result (#8807)
  • c3532ff chore: update changelog for version 2.7.5 (#8805)
  • d041207 ci: skip forkserver multiprocessing profiling test because it is unreliable (...
  • Additional commits viewable in compare view

Dependabot compatibility score

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [ddtrace](https://github.com/DataDog/dd-trace-py) from 2.1.7 to 2.8.0.
- [Release notes](https://github.com/DataDog/dd-trace-py/releases)
- [Changelog](https://github.com/DataDog/dd-trace-py/blob/main/CHANGELOG.md)
- [Commits](DataDog/dd-trace-py@v2.1.7...v2.8.0)

---
updated-dependencies:
- dependency-name: ddtrace
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Apr 5, 2024
Copy link

github-actions bot commented Apr 5, 2024

Thank you for your pull request! We could not find a changelog entry for this change. For details on how to document a change, see the contributing guide.

Copy link
Author

dependabot bot commented on behalf of github Apr 16, 2024

Superseded by #28.

@dependabot dependabot bot closed this Apr 16, 2024
@dependabot dependabot bot deleted the dependabot/pip/ddtrace-2.8.0 branch April 16, 2024 07:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file python Pull requests that update Python code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants