Skip to content

Conversation

@brettlangdon
Copy link
Member

Description

We have a bug report that there are recursion errors with wrapt 2.x on our psycopg integration. I'd still like to study if we can recreate the error in a test but don't want this investigation to block this known issue.

Testing

Risks

Additional Notes

<!-- Provide an overview of the change and motivation for the change -->

We have a bug report that there are recursion errors with wrapt 2.x on
our psycopg integration. I'd still like to study if we can recreate the
error in a test but don't want this investigation to block this known
issue.

<!-- Describe your testing strategy or note what tests are included -->

<!-- Note any risks associated with this change, or "None" if no risks
-->

<!-- Any other information that would be helpful for reviewers -->

---------

Signed-off-by: Juanjo Alvarez <juanjo.alvarezmartinez@datadoghq.com>
Co-authored-by: Juanjo Alvarez <juanjo.alvarezmartinez@datadoghq.com>
Co-authored-by: Brett Langdon <brett.langdon@datadoghq.com>
(cherry picked from commit 492135a)
@brettlangdon brettlangdon requested review from a team as code owners October 21, 2025 14:00
@taegyunkim taegyunkim changed the title fix(wrapt): do not use wrapt 2.x yet (#14955) fix(wrapt): do not use wrapt 2.x yet (#14955) [backport 3.14] Oct 21, 2025
@github-actions
Copy link
Contributor

CODEOWNERS have been resolved as:

releasenotes/notes/avoid-wrapt-two-fd3b8ad3057343ba.yaml                @DataDog/apm-python
lib-injection/sources/requirements.csv                                  @DataDog/apm-core-python
pyproject.toml                                                          @DataDog/python-guild
requirements.csv                                                        @DataDog/apm-core-python

@github-actions
Copy link
Contributor

Bootstrap import analysis

Comparison of import times between this PR and base.

Summary

The average import time from this PR is: 270 ± 4 ms.

The average import time from base is: 272 ± 4 ms.

The import time difference between this PR and base is: -2.5 ± 0.2 ms.

Import time breakdown

The following import paths have appeared:

ddtrace.auto 26.493 ms (9.82%)
ddtrace 17.295 ms (6.41%)
ddtrace._logger 12.999 ms (4.82%)
ddtrace.internal.telemetry 12.999 ms (4.82%)
ddtrace.internal.telemetry.writer 10.477 ms (3.88%)
http.client 10.477 ms (3.88%)
email.parser 9.235 ms (3.42%)
email.feedparser 8.969 ms (3.32%)
email._policybase 8.269 ms (3.06%)
email.utils 4.142 ms (1.53%)
random 1.553 ms (0.58%)
bisect 0.509 ms (0.19%)
_bisect 0.276 ms (0.10%)
_sha2 0.275 ms (0.10%)
_random 0.268 ms (0.10%)
email._parseaddr 1.353 ms (0.50%)
calendar 0.983 ms (0.36%)
datetime 0.655 ms (0.24%)
_datetime 0.429 ms (0.16%)
email.header 3.654 ms (1.35%)
email.charset 1.567 ms (0.58%)
email.encoders 1.266 ms (0.47%)
quopri 1.025 ms (0.38%)
email.base64mime 0.591 ms (0.22%)
base64 0.361 ms (0.13%)
binascii 0.409 ms (0.15%)
email.quoprimime 0.350 ms (0.13%)
email.errors 0.700 ms (0.26%)
email 0.265 ms (0.10%)
email.message 1.242 ms (0.46%)
email._encoded_words 0.385 ms (0.14%)
email.iterators 0.240 ms (0.09%)
ddtrace.settings._agent 2.522 ms (0.93%)
socket 2.522 ms (0.93%)
_socket 0.487 ms (0.18%)
array 0.443 ms (0.16%)
ddtrace.settings._config 4.296 ms (1.59%)
ddtrace.internal.gitmetadata 4.296 ms (1.59%)
ddtrace.ext.ci 4.296 ms (1.59%)
ddtrace.ext.git 4.296 ms (1.59%)
shutil 3.740 ms (1.39%)
bz2 1.801 ms (0.67%)
_bz2 1.109 ms (0.41%)
_compression 0.338 ms (0.13%)
lzma 0.799 ms (0.30%)
_lzma 0.443 ms (0.16%)
zlib 0.356 ms (0.13%)
tempfile 0.556 ms (0.21%)
ddtrace.bootstrap.sitecustomize 9.198 ms (3.41%)
ddtrace.bootstrap.preload 9.198 ms (3.41%)
ddtrace.internal.products 9.198 ms (3.41%)
importlib.metadata 9.198 ms (3.41%)
importlib.abc 2.571 ms (0.95%)
importlib.resources 2.067 ms (0.77%)
importlib.resources._common 1.513 ms (0.56%)
importlib.resources._adapters 0.515 ms (0.19%)
importlib.resources.abc 0.493 ms (0.18%)
importlib.resources._legacy 0.298 ms (0.11%)
zipfile 2.528 ms (0.94%)
zipfile._path 0.800 ms (0.30%)
zipfile._path.glob 0.285 ms (0.11%)
importlib.metadata._adapters 0.969 ms (0.36%)
importlib.metadata._text 0.520 ms (0.19%)
importlib.metadata._functools 0.240 ms (0.09%)
csv 0.773 ms (0.29%)
_csv 0.324 ms (0.12%)
importlib.metadata._meta 0.500 ms (0.19%)
importlib.metadata._collections 0.402 ms (0.15%)
importlib.metadata._itertools 0.242 ms (0.09%)

The following import paths have disappeared:

ddtrace.auto 20.842 ms (7.72%)
ddtrace 20.842 ms (7.72%)
ddtrace._logger 20.842 ms (7.72%)
ddtrace.internal.telemetry 20.842 ms (7.72%)
ddtrace.settings._agent 20.842 ms (7.72%)
ddtrace.settings 20.842 ms (7.72%)
ddtrace.vendor.debtcollector 20.842 ms (7.72%)
ddtrace.vendor 20.842 ms (7.72%)
ddtrace.internal.module 20.842 ms (7.72%)
ddtrace.internal.wrapping.context 20.842 ms (7.72%)
ddtrace.internal.utils.inspection 20.842 ms (7.72%)
ddtrace.internal.safety 20.842 ms (7.72%)
wrapt 20.842 ms (7.72%)
wrapt.importer 20.617 ms (7.64%)
importlib.metadata 20.617 ms (7.64%)
importlib.metadata._adapters 11.004 ms (4.08%)
email.message 10.464 ms (3.88%)
email.utils 8.271 ms (3.06%)
email.charset 2.259 ms (0.84%)
email.encoders 0.775 ms (0.29%)
email.errors 0.512 ms (0.19%)
email.base64mime 0.391 ms (0.14%)
base64 0.249 ms (0.09%)
email.quoprimime 0.235 ms (0.09%)
socket 2.252 ms (0.83%)
_socket 0.353 ms (0.13%)
array 0.231 ms (0.09%)
email._parseaddr 1.322 ms (0.49%)
calendar 0.932 ms (0.35%)
random 1.189 ms (0.44%)
bisect 0.300 ms (0.11%)
_bisect 0.158 ms (0.06%)
_sha2 0.167 ms (0.06%)
_random 0.164 ms (0.06%)
datetime 0.499 ms (0.18%)
_datetime 0.244 ms (0.09%)
email._policybase 0.980 ms (0.36%)
email.header 0.673 ms (0.25%)
email._encoded_words 0.333 ms (0.12%)
quopri 0.172 ms (0.06%)
email.iterators 0.139 ms (0.05%)
importlib.metadata._text 0.275 ms (0.10%)
importlib.metadata._functools 0.113 ms (0.04%)
zipfile 4.035 ms (1.50%)
shutil 2.297 ms (0.85%)
bz2 0.782 ms (0.29%)
_bz2 0.283 ms (0.10%)
_compression 0.253 ms (0.09%)
lzma 0.578 ms (0.21%)
_lzma 0.331 ms (0.12%)
zlib 0.213 ms (0.08%)
zipfile._path 0.558 ms (0.21%)
zipfile._path.glob 0.161 ms (0.06%)
binascii 0.291 ms (0.11%)
importlib.abc 2.709 ms (1.00%)
importlib.resources 2.316 ms (0.86%)
importlib.resources._common 1.990 ms (0.74%)
importlib.resources.abc 0.674 ms (0.25%)
tempfile 0.463 ms (0.17%)
importlib.resources._adapters 0.420 ms (0.16%)
importlib.resources._legacy 0.186 ms (0.07%)
csv 0.532 ms (0.20%)
_csv 0.191 ms (0.07%)
importlib.metadata._meta 0.492 ms (0.18%)
importlib.metadata._collections 0.288 ms (0.11%)
email 0.156 ms (0.06%)
importlib.metadata._itertools 0.126 ms (0.05%)
wrapt.proxies 0.225 ms (0.08%)

The following import paths have grown:

ddtrace.auto 1.979 ms (0.73%)
ddtrace 1.217 ms (0.45%)
ddtrace._logger 0.644 ms (0.24%)
ddtrace.internal.telemetry 0.644 ms (0.24%)
ddtrace.internal.telemetry.writer 0.522 ms (0.19%)
http.client 0.522 ms (0.19%)
ssl 0.399 ms (0.15%)
http 0.066 ms (0.02%)
email.parser 0.057 ms (0.02%)
ddtrace.settings._agent 0.122 ms (0.05%)
ddtrace.settings 0.122 ms (0.05%)
ddtrace.vendor.debtcollector 0.122 ms (0.05%)
ddtrace.vendor.debtcollector.removals 0.073 ms (0.03%)
ddtrace.vendor 0.050 ms (0.02%)
ddtrace.internal.module 0.050 ms (0.02%)
ddtrace.internal.wrapping.context 0.050 ms (0.02%)
ddtrace.trace 0.497 ms (0.18%)
ddtrace._trace.filters 0.285 ms (0.11%)
ddtrace._trace.processor 0.285 ms (0.11%)
ddtrace.internal.writer 0.169 ms (0.06%)
ddtrace.internal.writer.writer 0.169 ms (0.06%)
gzip 0.094 ms (0.03%)
ddtrace.internal.dogstatsd 0.074 ms (0.03%)
ddtrace.vendor.dogstatsd 0.074 ms (0.03%)
ddtrace.vendor.dogstatsd.base 0.074 ms (0.03%)
ddtrace.vendor.dogstatsd.context 0.074 ms (0.03%)
ddtrace.vendor.dogstatsd.context_async 0.074 ms (0.03%)
ddtrace._trace.sampler 0.117 ms (0.04%)
ddtrace._trace.span 0.117 ms (0.04%)
ddtrace._trace.provider 0.108 ms (0.04%)
ddtrace._trace.context 0.103 ms (0.04%)
ddtrace.settings._config 0.076 ms (0.03%)
ddtrace.internal.gitmetadata 0.076 ms (0.03%)
ddtrace.ext.ci 0.076 ms (0.03%)
ddtrace.ext.git 0.076 ms (0.03%)
ddtrace.bootstrap.sitecustomize 0.762 ms (0.28%)
ddtrace.bootstrap.preload 0.762 ms (0.28%)
multiprocessing 0.655 ms (0.24%)
multiprocessing.context 0.655 ms (0.24%)
multiprocessing.reduction 0.655 ms (0.24%)
pickle 0.655 ms (0.24%)
_pickle 0.655 ms (0.24%)
ddtrace.internal.products 0.107 ms (0.04%)
ddtrace.internal.uwsgi 0.107 ms (0.04%)

The following import paths have shrunk:

ddtrace.auto 9.666 ms (3.58%)
ddtrace 7.532 ms (2.79%)
ddtrace._logger 5.410 ms (2.00%)
ddtrace.internal.telemetry 5.410 ms (2.00%)
ddtrace.settings._agent 4.313 ms (1.60%)
ddtrace.settings 3.876 ms (1.44%)
ddtrace.vendor.debtcollector 3.876 ms (1.44%)
ddtrace.vendor.debtcollector._utils 3.507 ms (1.30%)
ddtrace.vendor 0.369 ms (0.14%)
ddtrace.internal.module 0.369 ms (0.14%)
ddtrace.internal.wrapping.context 0.260 ms (0.10%)
ddtrace.internal.utils.inspection 0.260 ms (0.10%)
ddtrace.internal.safety 0.260 ms (0.10%)
wrapt 0.260 ms (0.10%)
wrapt.decorators 0.150 ms (0.06%)
wrapt.arguments 0.150 ms (0.06%)
wrapt.importer 0.067 ms (0.02%)
wrapt.__wrapt__ 0.044 ms (0.02%)
wrapt.wrappers 0.029 ms (0.01%)
ddtrace.settings._core 0.437 ms (0.16%)
ddtrace.internal.native 0.329 ms (0.12%)
envier 0.108 ms (0.04%)
envier.env 0.108 ms (0.04%)
ddtrace.internal.telemetry.writer 1.097 ms (0.41%)
ddtrace.internal.runtime 0.829 ms (0.31%)
uuid 0.829 ms (0.31%)
platform 0.829 ms (0.31%)
http.client 0.169 ms (0.06%)
ssl 0.098 ms (0.04%)
_ssl 0.098 ms (0.04%)
ddtrace.trace 1.261 ms (0.47%)
ddtrace._trace.filters 1.147 ms (0.43%)
ddtrace._trace.processor 1.147 ms (0.43%)
ddtrace.internal.writer 0.892 ms (0.33%)
ddtrace.internal.writer.writer 0.892 ms (0.33%)
ddtrace.internal.dogstatsd 0.093 ms (0.03%)
ddtrace.vendor.dogstatsd 0.093 ms (0.03%)
ddtrace.vendor.dogstatsd.base 0.093 ms (0.03%)
queue 0.093 ms (0.03%)
ddtrace._trace.sampler 0.256 ms (0.09%)
ddtrace._trace.span 0.144 ms (0.05%)
ddtrace._trace._span_pointer 0.144 ms (0.05%)
hashlib 0.144 ms (0.05%)
_hashlib 0.144 ms (0.05%)
ddtrace.internal.sampling 0.112 ms (0.04%)
ddtrace._trace.tracer 0.114 ms (0.04%)
ddtrace.internal.processor.endpoint_call_counter 0.114 ms (0.04%)
ddtrace._monkey 0.091 ms (0.03%)
ddtrace.appsec._listeners 0.091 ms (0.03%)
ddtrace.internal.core 0.091 ms (0.03%)
ddtrace.settings._config 0.086 ms (0.03%)
ddtrace.settings.integration 0.086 ms (0.03%)
ddtrace.internal._unpatched 0.029 ms (0.01%)
json 0.029 ms (0.01%)
json.decoder 0.029 ms (0.01%)
re 0.029 ms (0.01%)
enum 0.029 ms (0.01%)
types 0.029 ms (0.01%)
ddtrace.bootstrap.sitecustomize 2.133 ms (0.79%)
ddtrace.bootstrap.preload 2.133 ms (0.79%)
multiprocessing.sharedctypes 0.692 ms (0.26%)
multiprocessing.heap 0.692 ms (0.26%)
multiprocessing.util 0.692 ms (0.26%)
ddtrace.internal.remoteconfig.client 0.625 ms (0.23%)
ddtrace.internal.runtime.runtime_metrics 0.111 ms (0.04%)
ddtrace.internal.runtime.metric_collectors 0.111 ms (0.04%)
ddtrace.internal.runtime.collector 0.111 ms (0.04%)

@brettlangdon brettlangdon merged commit 7ef898b into 3.14 Oct 21, 2025
615 of 619 checks passed
@brettlangdon brettlangdon deleted the backport-14955-to-3.14 branch October 21, 2025 14:38
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.

6 participants