Skip to content

Conversation

@dd-octo-sts
Copy link
Contributor

@dd-octo-sts dd-octo-sts bot commented Oct 21, 2025

Backport 492135a from #14955 to 3.16.

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

@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

## Description

<!-- 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.

## Testing

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

## Risks

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

## Additional Notes

<!-- 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 force-pushed the backport-14955-to-3.16 branch from 7181031 to b92e798 Compare October 21, 2025 13:52
@github-actions
Copy link
Contributor

github-actions bot commented Oct 21, 2025

Bootstrap import analysis

Comparison of import times between this PR and base.

Summary

The average import time from this PR is: 243 ± 3 ms.

The average import time from base is: 242 ± 2 ms.

The import time difference between this PR and base is: 0.8 ± 0.1 ms.

Import time breakdown

The following import paths have appeared:

ddtrace.auto 25.448 ms (10.46%)
ddtrace 16.899 ms (6.95%)
ddtrace._logger 13.225 ms (5.44%)
ddtrace.internal.telemetry 13.225 ms (5.44%)
ddtrace.internal.telemetry.writer 10.647 ms (4.38%)
http.client 10.647 ms (4.38%)
email.parser 9.375 ms (3.85%)
email.feedparser 9.113 ms (3.75%)
email._policybase 7.744 ms (3.18%)
email.utils 4.206 ms (1.73%)
random 1.564 ms (0.64%)
bisect 0.512 ms (0.21%)
_bisect 0.277 ms (0.11%)
_sha2 0.279 ms (0.11%)
_random 0.269 ms (0.11%)
email._parseaddr 1.358 ms (0.56%)
calendar 0.987 ms (0.41%)
datetime 0.671 ms (0.28%)
_datetime 0.436 ms (0.18%)
email.header 3.061 ms (1.26%)
email.charset 0.906 ms (0.37%)
email.encoders 0.596 ms (0.25%)
quopri 0.349 ms (0.14%)
email.base64mime 0.607 ms (0.25%)
base64 0.368 ms (0.15%)
binascii 0.409 ms (0.17%)
email.quoprimime 0.362 ms (0.15%)
email.errors 1.369 ms (0.56%)
email 0.261 ms (0.11%)
email.message 1.273 ms (0.52%)
email._encoded_words 0.393 ms (0.16%)
email.iterators 0.241 ms (0.10%)
ddtrace.settings._agent 2.578 ms (1.06%)
socket 2.578 ms (1.06%)
_socket 0.495 ms (0.20%)
array 0.445 ms (0.18%)
ddtrace.settings._config 3.673 ms (1.51%)
ddtrace.internal.gitmetadata 3.673 ms (1.51%)
ddtrace.ext.ci 3.673 ms (1.51%)
ddtrace.ext.git 3.673 ms (1.51%)
shutil 3.053 ms (1.25%)
bz2 1.168 ms (0.48%)
_bz2 0.389 ms (0.16%)
_compression 0.334 ms (0.14%)
lzma 0.778 ms (0.32%)
_lzma 0.435 ms (0.18%)
zlib 0.350 ms (0.14%)
tempfile 0.621 ms (0.26%)
ddtrace.bootstrap.sitecustomize 8.550 ms (3.51%)
ddtrace.bootstrap.preload 8.550 ms (3.51%)
ddtrace.internal.products 8.550 ms (3.51%)
importlib.metadata 8.550 ms (3.51%)
importlib.abc 2.561 ms (1.05%)
importlib.resources 2.054 ms (0.84%)
importlib.resources._common 1.514 ms (0.62%)
importlib.resources.abc 0.561 ms (0.23%)
importlib.resources._adapters 0.434 ms (0.18%)
importlib.resources._legacy 0.293 ms (0.12%)
zipfile 1.826 ms (0.75%)
zipfile._path 0.800 ms (0.33%)
zipfile._path.glob 0.286 ms (0.12%)
importlib.metadata._adapters 0.966 ms (0.40%)
importlib.metadata._text 0.515 ms (0.21%)
importlib.metadata._functools 0.238 ms (0.10%)
csv 0.777 ms (0.32%)
_csv 0.323 ms (0.13%)
importlib.metadata._meta 0.492 ms (0.20%)
importlib.metadata._collections 0.391 ms (0.16%)
importlib.metadata._itertools 0.235 ms (0.10%)

The following import paths have disappeared:

ddtrace.auto 20.632 ms (8.48%)
ddtrace 20.632 ms (8.48%)
ddtrace._logger 20.632 ms (8.48%)
ddtrace.internal.telemetry 20.632 ms (8.48%)
ddtrace.settings._agent 20.632 ms (8.48%)
ddtrace.settings 20.632 ms (8.48%)
ddtrace.vendor.debtcollector 20.632 ms (8.48%)
ddtrace.vendor 20.632 ms (8.48%)
ddtrace.internal.module 20.632 ms (8.48%)
ddtrace.internal.wrapping.context 20.632 ms (8.48%)
ddtrace.internal.utils.inspection 20.632 ms (8.48%)
ddtrace.internal.safety 20.632 ms (8.48%)
wrapt 20.632 ms (8.48%)
wrapt.importer 20.407 ms (8.39%)
importlib.metadata 20.407 ms (8.39%)
importlib.metadata._adapters 10.877 ms (4.47%)
email.message 10.345 ms (4.25%)
email.utils 8.168 ms (3.36%)
socket 2.229 ms (0.92%)
_socket 0.345 ms (0.14%)
array 0.229 ms (0.09%)
email.charset 2.210 ms (0.91%)
email.encoders 0.747 ms (0.31%)
email.errors 0.510 ms (0.21%)
email.base64mime 0.378 ms (0.16%)
base64 0.242 ms (0.10%)
email.quoprimime 0.234 ms (0.10%)
email._parseaddr 1.320 ms (0.54%)
calendar 0.933 ms (0.38%)
random 1.174 ms (0.48%)
bisect 0.299 ms (0.12%)
_bisect 0.159 ms (0.07%)
_sha2 0.165 ms (0.07%)
_random 0.161 ms (0.07%)
datetime 0.492 ms (0.20%)
_datetime 0.236 ms (0.10%)
email._policybase 0.976 ms (0.40%)
email.header 0.667 ms (0.27%)
email._encoded_words 0.334 ms (0.14%)
quopri 0.171 ms (0.07%)
email.iterators 0.136 ms (0.06%)
importlib.metadata._text 0.276 ms (0.11%)
importlib.metadata._functools 0.112 ms (0.05%)
zipfile 3.993 ms (1.64%)
shutil 2.282 ms (0.94%)
bz2 0.774 ms (0.32%)
_bz2 0.277 ms (0.11%)
_compression 0.258 ms (0.11%)
lzma 0.573 ms (0.24%)
_lzma 0.328 ms (0.14%)
zlib 0.213 ms (0.09%)
zipfile._path 0.554 ms (0.23%)
zipfile._path.glob 0.164 ms (0.07%)
binascii 0.289 ms (0.12%)
importlib.abc 2.691 ms (1.11%)
importlib.resources 2.301 ms (0.95%)
importlib.resources._common 1.973 ms (0.81%)
importlib.resources.abc 0.673 ms (0.28%)
tempfile 0.451 ms (0.19%)
importlib.resources._adapters 0.418 ms (0.17%)
importlib.resources._legacy 0.187 ms (0.08%)
csv 0.526 ms (0.22%)
_csv 0.187 ms (0.08%)
importlib.metadata._meta 0.488 ms (0.20%)
importlib.metadata._collections 0.285 ms (0.12%)
email 0.157 ms (0.06%)
importlib.metadata._itertools 0.120 ms (0.05%)
wrapt.proxies 0.226 ms (0.09%)

The following import paths have grown:

ddtrace.auto 4.969 ms (2.04%)
ddtrace 2.777 ms (1.14%)
ddtrace._logger 1.363 ms (0.56%)
ddtrace.internal.telemetry 1.363 ms (0.56%)
ddtrace.internal.telemetry.writer 0.556 ms (0.23%)
ddtrace.internal.packages 0.333 ms (0.14%)
sysconfig 0.333 ms (0.14%)
http.client 0.222 ms (0.09%)
ssl 0.123 ms (0.05%)
http 0.048 ms (0.02%)
ddtrace.settings._agent 0.163 ms (0.07%)
ddtrace.settings 0.119 ms (0.05%)
ddtrace.vendor.debtcollector 0.119 ms (0.05%)
ddtrace.vendor 0.071 ms (0.03%)
ddtrace.internal.module 0.071 ms (0.03%)
ddtrace.internal.wrapping.context 0.071 ms (0.03%)
ddtrace.internal.utils.inspection 0.071 ms (0.03%)
ddtrace.internal.safety 0.052 ms (0.02%)
ddtrace.internal.utils.cache 0.052 ms (0.02%)
ddtrace.vendor.debtcollector.updating 0.048 ms (0.02%)
ddtrace.settings._core 0.044 ms (0.02%)
ddtrace.internal.native 0.044 ms (0.02%)
ddtrace.internal.native._native 0.044 ms (0.02%)
ddtrace.trace 1.196 ms (0.49%)
ddtrace._trace.tracer 0.778 ms (0.32%)
ddtrace._trace.processor.resource_renaming 0.778 ms (0.32%)
ddtrace._trace.filters 0.419 ms (0.17%)
ddtrace._trace.processor 0.419 ms (0.17%)
ddtrace._trace.sampler 0.259 ms (0.11%)
ddtrace._trace.span 0.150 ms (0.06%)
ddtrace._trace._span_pointer 0.150 ms (0.06%)
hashlib 0.150 ms (0.06%)
_hashlib 0.150 ms (0.06%)
ddtrace.internal.sampling 0.110 ms (0.05%)
ddtrace.internal.writer 0.159 ms (0.07%)
ddtrace.internal.writer.writer 0.159 ms (0.07%)
ddtrace.internal.dogstatsd 0.159 ms (0.07%)
ddtrace.vendor.dogstatsd 0.159 ms (0.07%)
ddtrace.vendor.dogstatsd.base 0.159 ms (0.07%)
ddtrace._monkey 0.217 ms (0.09%)
ddtrace.vendor.packaging.specifiers 0.131 ms (0.05%)
ddtrace.appsec._listeners 0.087 ms (0.04%)
ddtrace.internal.core 0.087 ms (0.04%)
ddtrace.bootstrap.sitecustomize 2.192 ms (0.90%)
ddtrace.bootstrap.preload 1.471 ms (0.60%)
ddtrace.internal.remoteconfig._publishers 0.739 ms (0.30%)
ddtrace.settings.profiling 0.268 ms (0.11%)
ddtrace.internal.datadog.profiling.ddup 0.081 ms (0.03%)
ddtrace.internal.datadog.profiling.ddup._ddup 0.081 ms (0.03%)
ddtrace.internal.datadog.profiling._types 0.081 ms (0.03%)
ddtrace.vendor.psutil 0.072 ms (0.03%)
ddtrace.vendor.psutil._pslinux 0.072 ms (0.03%)
glob 0.072 ms (0.03%)
multiprocessing 0.153 ms (0.06%)
multiprocessing.context 0.153 ms (0.06%)
multiprocessing.reduction 0.153 ms (0.06%)
pickle 0.078 ms (0.03%)
ddtrace.internal.products 0.125 ms (0.05%)
ddtrace.internal.uwsgi 0.017 ms (0.01%)
ddtrace.internal.symbol_db.remoteconfig 0.096 ms (0.04%)
multiprocessing.sharedctypes 0.069 ms (0.03%)
multiprocessing.heap 0.069 ms (0.03%)
multiprocessing.util 0.069 ms (0.03%)
ddtrace.internal.runtime.runtime_metrics 0.022 ms (0.01%)
ddtrace._trace.trace_handlers 0.721 ms (0.30%)
ddtrace.contrib.trace_utils 0.721 ms (0.30%)
ddtrace.contrib.internal.trace_utils_async 0.721 ms (0.30%)

The following import paths have shrunk:

ddtrace.auto 9.504 ms (3.91%)
ddtrace 7.093 ms (2.92%)
ddtrace._logger 4.971 ms (2.04%)
ddtrace.internal.telemetry 4.971 ms (2.04%)
ddtrace.settings._agent 3.773 ms (1.55%)
ddtrace.settings 3.705 ms (1.52%)
ddtrace.vendor.debtcollector 3.705 ms (1.52%)
ddtrace.vendor.debtcollector._utils 3.362 ms (1.38%)
ddtrace.vendor 0.343 ms (0.14%)
ddtrace.internal.module 0.343 ms (0.14%)
ddtrace.internal.wrapping.context 0.240 ms (0.10%)
ddtrace.internal.utils.inspection 0.240 ms (0.10%)
ddtrace.internal.safety 0.240 ms (0.10%)
wrapt 0.240 ms (0.10%)
wrapt.decorators 0.150 ms (0.06%)
wrapt.arguments 0.150 ms (0.06%)
wrapt.importer 0.067 ms (0.03%)
wrapt.__wrapt__ 0.023 ms (0.01%)
wrapt.wrappers 0.023 ms (0.01%)
ddtrace.settings._core 0.068 ms (0.03%)
envier 0.068 ms (0.03%)
envier.env 0.068 ms (0.03%)
ddtrace.internal.telemetry.writer 1.198 ms (0.49%)
ddtrace.settings._telemetry 0.737 ms (0.30%)
ddtrace.internal.atexit 0.019 ms (0.01%)
__future__ 0.019 ms (0.01%)
ddtrace.internal.forksafe 0.018 ms (0.01%)
ddtrace.trace 1.236 ms (0.51%)
ddtrace._trace.filters 1.131 ms (0.46%)
ddtrace._trace.processor 1.131 ms (0.46%)
ddtrace.internal.writer 0.811 ms (0.33%)
ddtrace.internal.writer.writer 0.811 ms (0.33%)
gzip 0.739 ms (0.30%)
ddtrace.internal.dogstatsd 0.071 ms (0.03%)
ddtrace.vendor.dogstatsd 0.071 ms (0.03%)
ddtrace.vendor.dogstatsd.base 0.071 ms (0.03%)
queue 0.071 ms (0.03%)
ddtrace._trace.sampler 0.110 ms (0.05%)
ddtrace._trace.span 0.110 ms (0.05%)
ddtrace._trace.tracer 0.106 ms (0.04%)
ddtrace.settings.peer_service 0.106 ms (0.04%)
ddtrace.settings._config 0.131 ms (0.05%)
ddtrace.settings.endpoint_config 0.131 ms (0.05%)
ddtrace.internal.utils.retry 0.131 ms (0.05%)
ddtrace._monkey 0.089 ms (0.04%)
ddtrace.appsec._listeners 0.089 ms (0.04%)
ddtrace.settings.asm 0.089 ms (0.04%)
ddtrace.appsec._constants 0.089 ms (0.04%)
ddtrace.internal._unpatched 0.027 ms (0.01%)
json 0.027 ms (0.01%)
json.decoder 0.027 ms (0.01%)
re 0.027 ms (0.01%)
enum 0.027 ms (0.01%)
types 0.027 ms (0.01%)
ddtrace.bootstrap.sitecustomize 2.411 ms (0.99%)
ddtrace.bootstrap.preload 2.411 ms (0.99%)
multiprocessing 0.835 ms (0.34%)
multiprocessing.context 0.835 ms (0.34%)
multiprocessing.reduction 0.762 ms (0.31%)
pickle 0.762 ms (0.31%)
_compat_pickle 0.762 ms (0.31%)
multiprocessing.process 0.073 ms (0.03%)
ddtrace.internal.remoteconfig.client 0.593 ms (0.24%)
ddtrace.settings.profiling 0.133 ms (0.05%)
ddtrace.vendor.psutil 0.079 ms (0.03%)
pwd 0.079 ms (0.03%)
ddtrace.internal.datadog.profiling 0.055 ms (0.02%)
ddtrace.internal.datadog 0.055 ms (0.02%)
ddtrace.internal.runtime.runtime_metrics 0.109 ms (0.04%)
ddtrace.internal.runtime.tag_collectors 0.109 ms (0.04%)
ddtrace.debugging._import 0.086 ms (0.04%)
multiprocessing.sharedctypes 0.065 ms (0.03%)
multiprocessing.heap 0.065 ms (0.03%)

@brettlangdon brettlangdon merged commit 7c062e5 into 3.16 Oct 21, 2025
695 of 701 checks passed
@brettlangdon brettlangdon deleted the backport-14955-to-3.16 branch October 21, 2025 14:37
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.

3 participants