Skip to content

fix(iast): invalid f-string type conversions exception in format_value_aspect [backport 3.3] #13172

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

Closed
wants to merge 3 commits into from

Conversation

github-actions[bot]
Copy link
Contributor

Backport f807b8e from #13156 to 3.3.

This fixes a bug with f-strings when IAST is enabled: when building an invalid string that should raise an "Unknown format code X" exception, the error wasn't being triggered in certain cases. like

 f"{text:05d}"

Should raise a ValueError("Unknown format code 'd' for object of type 'str'")

Checklist

  • PR author has checked that all the criteria below are met
  • The PR description includes an overview of the change
  • The PR description articulates the motivation for the change
  • The change includes tests OR the PR description describes a testing strategy
  • The PR description notes risks associated with the change, if any
  • Newly-added code is easy to change
  • The change follows the library release note guidelines
  • The change includes or references documentation updates if necessary
  • Backport labels are set (if applicable)

Reviewer Checklist

  • Reviewer has checked that all the criteria below are met
  • Title is accurate
  • All changes are related to the pull request's stated goal
  • Avoids breaking API changes
  • Testing strategy adequately addresses listed risks
  • Newly-added code is easy to change
  • Release note makes sense to a user of the library
  • If necessary, author has acknowledged and discussed the performance implications of this PR as reported in the benchmarks PR comment
  • Backport labels are set in a manner that is consistent with the release branch maintenance policy

…e_aspect (#13156)

This fixes a bug with f-strings when IAST is enabled: when building an
invalid string that should raise an "Unknown format code X" exception,
the error wasn't being triggered in certain cases. like
```
 f"{text:05d}"
```
Should raise a ValueError("Unknown format code 'd' for object of type
'str'")

## Checklist
- [x] PR author has checked that all the criteria below are met
- The PR description includes an overview of the change
- The PR description articulates the motivation for the change
- The change includes tests OR the PR description describes a testing
strategy
- The PR description notes risks associated with the change, if any
- Newly-added code is easy to change
- The change follows the [library release note
guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html)
- The change includes or references documentation updates if necessary
- Backport labels are set (if
[applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting))

## Reviewer Checklist
- [x] Reviewer has checked that all the criteria below are met
- Title is accurate
- All changes are related to the pull request's stated goal
- Avoids breaking
[API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces)
changes
- Testing strategy adequately addresses listed risks
- Newly-added code is easy to change
- Release note makes sense to a user of the library
- If necessary, author has acknowledged and discussed the performance
implications of this PR as reported in the benchmarks PR comment
- Backport labels are set in a manner that is consistent with the
[release branch maintenance
policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)

---------

Co-authored-by: Munir Abdinur <[email protected]>
(cherry picked from commit f807b8e)
@github-actions github-actions bot added the ASM Application Security Monitoring label Apr 11, 2025
@github-actions github-actions bot requested review from a team as code owners April 11, 2025 11:18
Copy link
Contributor Author

CODEOWNERS have been resolved as:

releasenotes/notes/iast-fstring-exception-d460a37b6e44f972.yaml         @DataDog/apm-python
ddtrace/appsec/_iast/_taint_tracking/aspects.py                         @DataDog/asm-python
tests/appsec/iast/aspects/test_str_py3.py                               @DataDog/asm-python

Copy link
Contributor Author

github-actions bot commented Apr 11, 2025

Bootstrap import analysis

Comparison of import times between this PR and main.

Summary

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

The average import time in main is: 233 ± 2 ms.

The import time difference between this PR and main is: 9.3 ± 0.1 ms.

Import time breakdown

The following import paths have appeared:

ddtrace.auto 140.768 ms (58.02%)
ddtrace 119.573 ms (49.29%)
ddtrace._logger 65.883 ms (27.16%)
ddtrace.settings._core 64.943 ms (26.77%)
ddtrace.settings 64.903 ms (26.75%)
ddtrace.settings._config 64.051 ms (26.40%)
ddtrace.settings.endpoint_config 23.412 ms (9.65%)
ddtrace.internal.utils.http 22.476 ms (9.26%)
http.client 16.047 ms (6.61%)
email.parser 8.292 ms (3.42%)
email.feedparser 7.998 ms (3.30%)
email._policybase 6.743 ms (2.78%)
email.utils 4.394 ms (1.81%)
socket 2.400 ms (0.99%)
_socket 0.450 ms (0.19%)
array 0.344 ms (0.14%)
email._parseaddr 1.430 ms (0.59%)
calendar 1.056 ms (0.44%)
email.header 1.957 ms (0.81%)
email.quoprimime 0.639 ms (0.26%)
email.charset 0.366 ms (0.15%)
email.base64mime 0.234 ms (0.10%)
email.errors 0.614 ms (0.25%)
ssl 4.575 ms (1.89%)
_ssl 1.712 ms (0.71%)
email.message 1.239 ms (0.51%)
email._encoded_words 0.383 ms (0.16%)
email.iterators 0.243 ms (0.10%)
http 0.777 ms (0.32%)
ddtrace.internal.http 3.178 ms (1.31%)
ddtrace.internal.runtime 1.601 ms (0.66%)
uuid 0.877 ms (0.36%)
_uuid 0.364 ms (0.15%)
ddtrace.internal.forksafe 0.365 ms (0.15%)
ddtrace.internal.runtime.container 1.224 ms (0.50%)
email.encoders 1.557 ms (0.64%)
base64 0.748 ms (0.31%)
binascii 0.387 ms (0.16%)
quopri 0.266 ms (0.11%)
email 0.246 ms (0.10%)
ddtrace.internal.uds 0.278 ms (0.11%)
ddtrace.internal.utils.retry 0.628 ms (0.26%)
__future__ 0.269 ms (0.11%)
ddtrace.internal.gitmetadata 16.984 ms (7.00%)
ddtrace.ext.ci 12.666 ms (5.22%)
ddtrace.ext.git 10.936 ms (4.51%)
subprocess 4.172 ms (1.72%)
locale 1.031 ms (0.42%)
_locale 0.153 ms (0.06%)
signal 0.705 ms (0.29%)
selectors 0.682 ms (0.28%)
fcntl 0.290 ms (0.12%)
select 0.281 ms (0.12%)
_posixsubprocess 0.261 ms (0.11%)
msvcrt 0.110 ms (0.05%)
shutil 3.042 ms (1.25%)
bz2 1.023 ms (0.42%)
_bz2 0.364 ms (0.15%)
_compression 0.320 ms (0.13%)
lzma 0.749 ms (0.31%)
_lzma 0.412 ms (0.17%)
zlib 0.411 ms (0.17%)
random 1.536 ms (0.63%)
bisect 0.519 ms (0.21%)
_bisect 0.277 ms (0.11%)
_sha2 0.279 ms (0.12%)
_random 0.267 ms (0.11%)
ddtrace.internal.utils.time 0.989 ms (0.41%)
datetime 0.650 ms (0.27%)
_datetime 0.425 ms (0.18%)
tempfile 0.514 ms (0.21%)
platform 0.821 ms (0.34%)
_wmi 0.115 ms (0.05%)
ddtrace.ext 0.293 ms (0.12%)
ddtrace.settings._core 3.976 ms (1.64%)
envier 1.574 ms (0.65%)
envier.env 1.302 ms (0.54%)
ddtrace.settings._otel_remapper 1.071 ms (0.44%)
ddtrace.internal.native 0.868 ms (0.36%)
ddtrace.internal.native._native 0.558 ms (0.23%)
ddtrace.settings._telemetry 15.549 ms (6.41%)
ddtrace.internal.telemetry 15.208 ms (6.27%)
ddtrace.internal.telemetry.writer 14.722 ms (6.07%)
ddtrace.internal.utils.version 4.203 ms (1.73%)
ddtrace.vendor.packaging.version 3.437 ms (1.42%)
ddtrace.vendor.packaging 0.571 ms (0.24%)
ddtrace.vendor 0.264 ms (0.11%)
ddtrace.vendor.packaging._structures 0.289 ms (0.12%)
ddtrace.version 0.247 ms (0.10%)
ddtrace._version 0.238 ms (0.10%)
ddtrace.internal.telemetry.data 3.864 ms (1.59%)
ddtrace.internal.packages 2.757 ms (1.14%)
_sysconfigdata__linux_x86_64-linux-gnu 0.592 ms (0.24%)
ddtrace.settings.third_party 0.325 ms (0.13%)
sysconfig 0.518 ms (0.21%)
ddtrace.internal.hostname 0.251 ms (0.10%)
ddtrace.internal.periodic 2.017 ms (0.83%)
ddtrace.internal._threads 1.122 ms (0.46%)
ddtrace.internal.service 0.446 ms (0.18%)
ddtrace.internal.encoding 0.852 ms (0.35%)
ddtrace.internal._encoding 0.492 ms (0.20%)
ddtrace.internal.telemetry.constants 0.554 ms (0.23%)
ddtrace.internal.atexit 0.507 ms (0.21%)
ddtrace.internal.utils.signals 0.237 ms (0.10%)
ddtrace.internal.agent 0.456 ms (0.19%)
ddtrace.internal.telemetry.metrics 0.436 ms (0.18%)
ddtrace.internal.telemetry.metrics_namespaces 0.340 ms (0.14%)
ddtrace.internal.telemetry.logging 0.327 ms (0.13%)
ddtrace.internal.telemetry.modules 0.257 ms (0.11%)
ddtrace._trace.pin 3.942 ms (1.62%)
wrapt 3.309 ms (1.36%)
wrapt.__wrapt__ 1.269 ms (0.52%)
wrapt.wrappers 0.559 ms (0.23%)
wrapt._wrappers 0.413 ms (0.17%)
wrapt.decorators 0.690 ms (0.28%)
wrapt.arguments 0.255 ms (0.11%)
wrapt.importer 0.326 ms (0.13%)
wrapt.weakrefs 0.324 ms (0.13%)
wrapt.patches 0.310 ms (0.13%)
ddtrace._trace 0.238 ms (0.10%)
ddtrace.internal.schema 1.531 ms (0.63%)
ddtrace.internal.schema.span_attribute_schema 1.215 ms (0.50%)
ddtrace.settings._inferred_base_service 0.421 ms (0.17%)
ddtrace.settings.integration 0.565 ms (0.23%)
ddtrace.internal.utils.attrdict 0.265 ms (0.11%)
ddtrace.internal.utils.cache 0.346 ms (0.14%)
ddtrace.settings.http 0.297 ms (0.12%)
ddtrace.internal.serverless 0.275 ms (0.11%)
ddtrace._hooks 0.319 ms (0.13%)
ddtrace.settings.exceptions 0.264 ms (0.11%)
ddtrace.internal.utils.formats 0.940 ms (0.39%)
ddtrace.internal.constants 0.562 ms (0.23%)
ddtrace.constants 0.252 ms (0.10%)
ddtrace.internal.compat 0.378 ms (0.16%)
ddtrace.internal.module 41.781 ms (17.22%)
ddtrace.internal.wrapping.context 18.488 ms (7.62%)
ddtrace.internal.wrapping 17.463 ms (7.20%)
bytecode 14.521 ms (5.99%)
bytecode.bytecode 11.430 ms (4.71%)
bytecode.flags 10.894 ms (4.49%)
bytecode.instr 9.814 ms (4.04%)
dataclasses 5.392 ms (2.22%)
inspect 4.571 ms (1.88%)
ast 2.267 ms (0.93%)
_ast 1.181 ms (0.49%)
copy 0.196 ms (0.08%)
dis 0.845 ms (0.35%)
bytecode.utils 0.152 ms (0.06%)
opcode 0.574 ms (0.24%)
_opcode 0.156 ms (0.06%)
bytecode.cfg 2.606 ms (1.07%)
bytecode.concrete 1.284 ms (0.53%)
struct 0.340 ms (0.14%)
_struct 0.206 ms (0.08%)
bytecode.version 0.239 ms (0.10%)
ddtrace.internal.wrapping.asyncs 1.472 ms (0.61%)
ddtrace.internal.wrapping.generators 0.728 ms (0.30%)
ddtrace.internal.assembly 0.374 ms (0.15%)
contextvars 0.276 ms (0.11%)
_contextvars 0.146 ms (0.06%)
pathlib 8.767 ms (3.61%)
fnmatch 4.198 ms (1.73%)
re 3.959 ms (1.63%)
enum 1.984 ms (0.82%)
functools 0.680 ms (0.28%)
_functools 0.061 ms (0.03%)
re._compiler 1.310 ms (0.54%)
re._parser 0.778 ms (0.32%)
re._constants 0.351 ms (0.14%)
re._casefix 0.129 ms (0.05%)
_sre 0.070 ms (0.03%)
copyreg 0.181 ms (0.07%)
urllib.parse 3.258 ms (1.34%)
ipaddress 1.813 ms (0.75%)
math 0.278 ms (0.11%)
urllib 0.128 ms (0.05%)
ntpath 0.485 ms (0.20%)
nt 0.337 ms (0.14%)
_winapi 0.068 ms (0.03%)
errno 0.057 ms (0.02%)
ddtrace.internal.logger 6.299 ms (2.60%)
logging 5.997 ms (2.47%)
traceback 2.757 ms (1.14%)
linecache 1.292 ms (0.53%)
tokenize 1.140 ms (0.47%)
token 0.175 ms (0.07%)
_tokenize 0.038 ms (0.02%)
textwrap 0.912 ms (0.38%)
string 0.668 ms (0.28%)
_string 0.042 ms (0.02%)
threading 0.588 ms (0.24%)
atexit 0.041 ms (0.02%)
typing 3.400 ms (1.40%)
contextlib 0.637 ms (0.26%)
collections.abc 0.174 ms (0.07%)
_typing 0.041 ms (0.02%)
collections 1.746 ms (0.72%)
operator 0.350 ms (0.14%)
_operator 0.069 ms (0.03%)
reprlib 0.187 ms (0.08%)
keyword 0.137 ms (0.06%)
itertools 0.113 ms (0.05%)
_collections 0.064 ms (0.03%)
weakref 0.723 ms (0.30%)
_weakrefset 0.219 ms (0.09%)
importlib.util 0.565 ms (0.23%)
types 0.264 ms (0.11%)
importlib._abc 0.198 ms (0.08%)
ddtrace.internal.utils 0.336 ms (0.14%)
importlib._bootstrap 0.193 ms (0.08%)
importlib 0.170 ms (0.07%)
ddtrace.internal 0.186 ms (0.08%)
importlib.machinery 0.051 ms (0.02%)
ddtrace.trace 4.894 ms (2.02%)
ddtrace._trace.tracer 4.894 ms (2.02%)
ddtrace.internal.dogstatsd 4.894 ms (2.02%)
ddtrace.vendor.dogstatsd 4.615 ms (1.90%)
ddtrace.vendor.dogstatsd.base 4.246 ms (1.75%)
queue 1.229 ms (0.51%)
heapq 0.560 ms (0.23%)
_heapq 0.287 ms (0.12%)
_queue 0.294 ms (0.12%)
ddtrace.vendor.dogstatsd.context 0.789 ms (0.33%)
ddtrace.vendor.dogstatsd.context_async 0.471 ms (0.19%)
ddtrace.vendor.dogstatsd.container 0.563 ms (0.23%)
ddtrace.vendor.dogstatsd.format 0.325 ms (0.13%)
ddtrace.vendor.dogstatsd.route 0.273 ms (0.11%)
ddtrace.vendor.dogstatsd.compat 0.246 ms (0.10%)
ddtrace._monkey 4.241 ms (1.75%)
ddtrace.appsec 4.241 ms (1.75%)
ddtrace.internal.core 3.958 ms (1.63%)
ddtrace.vendor.debtcollector 1.882 ms (0.78%)
ddtrace.vendor.debtcollector.removals 0.335 ms (0.14%)
ddtrace.vendor.debtcollector._utils 0.322 ms (0.13%)
ddtrace.vendor.debtcollector.updating 0.316 ms (0.13%)
ddtrace.vendor.debtcollector.moves 0.315 ms (0.13%)
ddtrace.vendor.debtcollector.renames 0.248 ms (0.10%)
ddtrace.internal.core.event_hub 1.207 ms (0.50%)
ddtrace.internal.utils.deprecations 0.251 ms (0.10%)
ddtrace.internal._file_queue 2.471 ms (1.02%)
secrets 2.167 ms (0.89%)
hmac 1.932 ms (0.80%)
_hashlib 0.872 ms (0.36%)
hashlib 0.638 ms (0.26%)
_blake2 0.301 ms (0.12%)
warnings 0.304 ms (0.13%)
ddtrace.bootstrap.sitecustomize 21.195 ms (8.74%)
ddtrace.bootstrap.preload 11.152 ms (4.60%)
ddtrace.internal.products 9.616 ms (3.96%)
ddtrace.internal.symbol_db.remoteconfig 8.368 ms (3.45%)
multiprocessing 3.663 ms (1.51%)
multiprocessing.context 3.339 ms (1.38%)
multiprocessing.reduction 2.190 ms (0.90%)
pickle 1.772 ms (0.73%)
_compat_pickle 0.430 ms (0.18%)
_pickle 0.391 ms (0.16%)
multiprocessing.process 0.529 ms (0.22%)
ddtrace.internal.remoteconfig._connectors 2.884 ms (1.19%)
ctypes 2.565 ms (1.06%)
_ctypes 0.542 ms (0.22%)
ctypes._endian 0.433 ms (0.18%)
multiprocessing.sharedctypes 1.821 ms (0.75%)
multiprocessing.heap 1.151 ms (0.47%)
multiprocessing.util 0.399 ms (0.16%)
mmap 0.390 ms (0.16%)
ddtrace.internal.remoteconfig.client 1.248 ms (0.51%)
ddtrace.internal.remoteconfig._pubsub 1.248 ms (0.51%)
ddtrace.internal.remoteconfig._subscribers 0.609 ms (0.25%)
ddtrace.internal.remoteconfig.utils 0.239 ms (0.10%)
ddtrace.internal.remoteconfig._publishers 0.361 ms (0.15%)
ddtrace.settings.profiling 1.144 ms (0.47%)
ddtrace.internal.datadog.profiling.ddup 0.578 ms (0.24%)
ddtrace.internal.datadog.profiling.ddup._ddup 0.578 ms (0.24%)
ddtrace.internal.datadog.profiling._types 0.301 ms (0.12%)
ddtrace.internal.datadog.profiling.util 0.277 ms (0.11%)
ddtrace.internal.datadog.profiling 0.566 ms (0.23%)
ddtrace.internal.datadog 0.256 ms (0.11%)
ddtrace.internal.tracemethods 0.392 ms (0.16%)
ddtrace._trace.trace_handlers 10.043 ms (4.14%)
ddtrace._trace.utils_botocore.span_tags 7.159 ms (2.95%)
ddtrace._trace.utils_botocore.aws_payload_tagging 6.585 ms (2.71%)
ddtrace.vendor.jsonpath_ng 4.659 ms (1.92%)
ddtrace.vendor.jsonpath_ng.jsonpath 2.349 ms (0.97%)
ddtrace.vendor.jsonpath_ng.lexer 1.667 ms (0.69%)
ddtrace.vendor.ply.lex 0.945 ms (0.39%)
ddtrace.vendor.ply 0.258 ms (0.11%)
ddtrace.vendor.jsonpath_ng.exceptions 0.309 ms (0.13%)
ddtrace.vendor.jsonpath_ng.parser 2.032 ms (0.84%)
ddtrace.vendor.ply.yacc 1.652 ms (0.68%)
decimal 1.611 ms (0.66%)
_decimal 1.377 ms (0.57%)
numbers 0.579 ms (0.24%)
ddtrace.ext.aws 0.272 ms (0.11%)
ddtrace._trace.utils_botocore.span_pointers 2.645 ms (1.09%)
ddtrace._trace.utils_botocore.span_pointers.dynamodb 1.384 ms (0.57%)
ddtrace._trace.utils_botocore.span_pointers.telemetry 0.266 ms (0.11%)
ddtrace._trace.utils_botocore.span_pointers.s3 0.635 ms (0.26%)
ddtrace._trace.utils_botocore 0.256 ms (0.11%)
ddtrace.contrib.trace_utils 0.239 ms (0.10%)
ddtrace.contrib.internal.trace_utils 0.239 ms (0.10%)
ddtrace.ext.user 0.239 ms (0.10%)

The following import paths have disappeared:

ddtrace.auto 136.382 ms (56.21%)
ddtrace 124.766 ms (51.43%)
ddtrace._logger 92.269 ms (38.03%)
ddtrace.internal.telemetry 82.288 ms (33.92%)
ddtrace.internal.telemetry.writer 80.563 ms (33.21%)
ddtrace.internal.utils.version 28.349 ms (11.69%)
ddtrace.vendor.packaging.version 27.715 ms (11.42%)
ddtrace.vendor.packaging 25.412 ms (10.47%)
ddtrace.vendor 11.597 ms (4.78%)
ddtrace.internal.module 11.450 ms (4.72%)
ddtrace.internal.wrapping.context 10.680 ms (4.40%)
ddtrace.internal.wrapping 9.726 ms (4.01%)
bytecode 6.797 ms (2.80%)
bytecode.bytecode 4.071 ms (1.68%)
bytecode.flags 3.458 ms (1.43%)
bytecode.instr 2.960 ms (1.22%)
bytecode.utils 0.124 ms (0.05%)
bytecode.cfg 2.237 ms (0.92%)
bytecode.concrete 0.920 ms (0.38%)
bytecode.version 0.237 ms (0.10%)
ddtrace.internal.wrapping.asyncs 1.471 ms (0.61%)
ddtrace.internal.wrapping.generators 0.718 ms (0.30%)
ddtrace.internal.assembly 0.375 ms (0.15%)
contextvars 0.277 ms (0.11%)
_contextvars 0.153 ms (0.06%)
ddtrace.vendor.packaging._structures 0.296 ms (0.12%)
ddtrace.version 0.241 ms (0.10%)
ddtrace._version 0.234 ms (0.10%)
http.client 21.043 ms (8.67%)
email.parser 13.621 ms (5.61%)
email.feedparser 13.223 ms (5.45%)
email._policybase 12.130 ms (5.00%)
email.utils 9.470 ms (3.90%)
socket 2.994 ms (1.23%)
selectors 0.703 ms (0.29%)
select 0.179 ms (0.07%)
_socket 0.506 ms (0.21%)
array 0.270 ms (0.11%)
errno 0.061 ms (0.03%)
urllib.parse 2.455 ms (1.01%)
ipaddress 1.262 ms (0.52%)
urllib 0.127 ms (0.05%)
email._parseaddr 2.005 ms (0.83%)
calendar 1.764 ms (0.73%)
locale 0.833 ms (0.34%)
_locale 0.075 ms (0.03%)
random 1.182 ms (0.49%)
bisect 0.289 ms (0.12%)
_bisect 0.147 ms (0.06%)
math 0.198 ms (0.08%)
_sha2 0.162 ms (0.07%)
_random 0.152 ms (0.06%)
datetime 0.370 ms (0.15%)
_datetime 0.234 ms (0.10%)
email.header 2.366 ms (0.98%)
email.base64mime 0.690 ms (0.28%)
base64 0.565 ms (0.23%)
struct 0.316 ms (0.13%)
_struct 0.190 ms (0.08%)
email.charset 0.492 ms (0.20%)
email.encoders 0.289 ms (0.12%)
quopri 0.161 ms (0.07%)
binascii 0.284 ms (0.12%)
email.quoprimime 0.238 ms (0.10%)
email.errors 0.564 ms (0.23%)
email 0.140 ms (0.06%)
ssl 4.214 ms (1.74%)
_ssl 1.578 ms (0.65%)
email.message 0.903 ms (0.37%)
email._encoded_words 0.271 ms (0.11%)
email.iterators 0.135 ms (0.06%)
http 0.771 ms (0.32%)
ddtrace.internal.utils.http 15.033 ms (6.20%)
dataclasses 7.025 ms (2.90%)
inspect 6.201 ms (2.56%)
ast 2.290 ms (0.94%)
_ast 1.180 ms (0.49%)
dis 1.451 ms (0.60%)
opcode 0.580 ms (0.24%)
_opcode 0.151 ms (0.06%)
importlib.machinery 0.233 ms (0.10%)
importlib 0.171 ms (0.07%)
copy 0.200 ms (0.08%)
ddtrace.internal.http 5.437 ms (2.24%)
ddtrace.internal.runtime 4.224 ms (1.74%)
ddtrace.internal.forksafe 2.672 ms (1.10%)
wrapt 2.423 ms (1.00%)
wrapt.__wrapt__ 0.884 ms (0.36%)
wrapt.wrappers 0.424 ms (0.17%)
wrapt._wrappers 0.269 ms (0.11%)
wrapt.importer 0.519 ms (0.21%)
importlib.util 0.303 ms (0.12%)
importlib._abc 0.186 ms (0.08%)
wrapt.decorators 0.500 ms (0.21%)
wrapt.arguments 0.123 ms (0.05%)
wrapt.patches 0.174 ms (0.07%)
wrapt.weakrefs 0.150 ms (0.06%)
uuid 1.328 ms (0.55%)
platform 0.582 ms (0.24%)
_wmi 0.075 ms (0.03%)
_uuid 0.255 ms (0.11%)
ddtrace.internal.runtime.container 1.002 ms (0.41%)
ddtrace.internal.utils 0.355 ms (0.15%)
ddtrace.internal.utils.cache 0.229 ms (0.09%)
ddtrace.internal.constants 0.183 ms (0.08%)
ddtrace.internal.uds 0.154 ms (0.06%)
ddtrace.constants 0.144 ms (0.06%)
ddtrace.settings._agent 3.860 ms (1.59%)
ddtrace.settings._core 2.330 ms (0.96%)
envier 1.320 ms (0.54%)
envier.env 1.163 ms (0.48%)
ddtrace.internal.native 0.627 ms (0.26%)
ddtrace.internal.native._native 0.431 ms (0.18%)
ddtrace.settings 0.985 ms (0.41%)
ddtrace.settings.integration 0.300 ms (0.12%)
ddtrace.internal.utils.attrdict 0.129 ms (0.05%)
ddtrace.settings.exceptions 0.190 ms (0.08%)
ddtrace._hooks 0.186 ms (0.08%)
ddtrace.settings.http 0.155 ms (0.06%)
ddtrace.internal.telemetry.data 3.758 ms (1.55%)
ddtrace.internal.packages 2.684 ms (1.11%)
_sysconfigdata__linux_x86_64-linux-gnu 0.585 ms (0.24%)
ddtrace.settings.third_party 0.323 ms (0.13%)
sysconfig 0.504 ms (0.21%)
ddtrace.internal.hostname 0.245 ms (0.10%)
ddtrace.settings._telemetry 2.375 ms (0.98%)
ddtrace.settings._inferred_base_service 1.711 ms (0.71%)
pathlib 1.256 ms (0.52%)
ntpath 0.481 ms (0.20%)
nt 0.325 ms (0.13%)
_winapi 0.069 ms (0.03%)
fnmatch 0.155 ms (0.06%)
ddtrace.internal.periodic 1.551 ms (0.64%)
ddtrace.internal._threads 0.974 ms (0.40%)
ddtrace.internal.service 0.307 ms (0.13%)
ddtrace.internal.encoding 1.510 ms (0.62%)
ddtrace.internal._encoding 0.352 ms (0.15%)
ddtrace.internal.compat 0.297 ms (0.12%)
ddtrace.internal.atexit 1.002 ms (0.41%)
signal 0.549 ms (0.23%)
__future__ 0.163 ms (0.07%)
ddtrace.internal.utils.signals 0.117 ms (0.05%)
ddtrace.internal.telemetry.metrics_namespaces 0.565 ms (0.23%)
ddtrace.internal.telemetry.logging 0.402 ms (0.17%)
ddtrace.internal.utils.time 0.263 ms (0.11%)
ddtrace.internal.telemetry.modules 0.257 ms (0.11%)
ddtrace.internal.telemetry.constants 0.509 ms (0.21%)
ddtrace.settings._otel_remapper 0.394 ms (0.16%)
ddtrace.internal.logger 0.260 ms (0.11%)
logging 7.358 ms (3.03%)
traceback 4.083 ms (1.68%)
contextlib 1.219 ms (0.50%)
linecache 1.183 ms (0.49%)
tokenize 1.031 ms (0.43%)
token 0.174 ms (0.07%)
_tokenize 0.036 ms (0.02%)
textwrap 0.899 ms (0.37%)
collections.abc 0.163 ms (0.07%)
string 0.659 ms (0.27%)
_string 0.036 ms (0.01%)
weakref 0.419 ms (0.17%)
warnings 0.301 ms (0.12%)
atexit 0.044 ms (0.02%)
typing 2.624 ms (1.08%)
_typing 0.040 ms (0.02%)
ddtrace.settings._config 15.135 ms (6.24%)
ddtrace.internal.gitmetadata 6.963 ms (2.87%)
ddtrace.ext.ci 6.635 ms (2.73%)
ddtrace.ext.git 5.765 ms (2.38%)
shutil 3.014 ms (1.24%)
bz2 1.063 ms (0.44%)
_bz2 0.389 ms (0.16%)
_compression 0.328 ms (0.14%)
lzma 0.836 ms (0.34%)
_lzma 0.433 ms (0.18%)
zlib 0.342 ms (0.14%)
subprocess 1.413 ms (0.58%)
fcntl 0.306 ms (0.13%)
_posixsubprocess 0.274 ms (0.11%)
msvcrt 0.111 ms (0.05%)
tempfile 0.584 ms (0.24%)
ddtrace.ext 0.298 ms (0.12%)
ddtrace.internal._file_queue 2.525 ms (1.04%)
secrets 2.215 ms (0.91%)
hmac 1.968 ms (0.81%)
_hashlib 0.904 ms (0.37%)
hashlib 0.657 ms (0.27%)
_blake2 0.308 ms (0.13%)
ddtrace.internal.schema 0.801 ms (0.33%)
ddtrace.internal.schema.span_attribute_schema 0.492 ms (0.20%)
ddtrace.settings.endpoint_config 0.637 ms (0.26%)
ddtrace.internal.utils.retry 0.353 ms (0.15%)
ddtrace.internal.serverless 0.282 ms (0.12%)
ddtrace.internal._unpatched 7.103 ms (2.93%)
json 5.961 ms (2.46%)
json.decoder 5.961 ms (2.46%)
re 5.961 ms (2.46%)
enum 4.034 ms (1.66%)
functools 2.008 ms (0.83%)
collections 1.341 ms (0.55%)
reprlib 0.187 ms (0.08%)
itertools 0.177 ms (0.07%)
keyword 0.130 ms (0.05%)
_collections 0.067 ms (0.03%)
_functools 0.052 ms (0.02%)
operator 0.437 ms (0.18%)
_operator 0.073 ms (0.03%)
types 0.263 ms (0.11%)
re._compiler 1.258 ms (0.52%)
re._parser 0.626 ms (0.26%)
re._constants 0.265 ms (0.11%)
re._casefix 0.206 ms (0.08%)
_sre 0.067 ms (0.03%)
copyreg 0.173 ms (0.07%)
threading 0.956 ms (0.39%)
_weakrefset 0.300 ms (0.12%)
ddtrace.internal 0.186 ms (0.08%)
ddtrace.trace 5.689 ms (2.34%)
ddtrace._trace.filters 5.093 ms (2.10%)
ddtrace._trace.processor 5.093 ms (2.10%)
ddtrace.internal.dogstatsd 4.813 ms (1.98%)
ddtrace.vendor.dogstatsd 4.523 ms (1.86%)
ddtrace.vendor.dogstatsd.base 4.268 ms (1.76%)
queue 1.336 ms (0.55%)
heapq 0.668 ms (0.28%)
_heapq 0.282 ms (0.12%)
_queue 0.292 ms (0.12%)
ddtrace.vendor.dogstatsd.context 0.791 ms (0.33%)
ddtrace.vendor.dogstatsd.context_async 0.478 ms (0.20%)
ddtrace.vendor.dogstatsd.container 0.564 ms (0.23%)
ddtrace.vendor.dogstatsd.format 0.321 ms (0.13%)
ddtrace.vendor.dogstatsd.route 0.271 ms (0.11%)
ddtrace.vendor.dogstatsd.compat 0.251 ms (0.10%)
ddtrace.internal.writer 0.280 ms (0.12%)
ddtrace.internal.writer.writer 0.280 ms (0.12%)
ddtrace.internal.agent 0.280 ms (0.12%)
ddtrace._trace.pin 0.350 ms (0.14%)
ddtrace._trace.context 0.245 ms (0.10%)
ddtrace._trace 0.245 ms (0.10%)
ddtrace._monkey 4.570 ms (1.88%)
ddtrace.appsec._listeners 4.570 ms (1.88%)
ddtrace.internal.core 3.985 ms (1.64%)
ddtrace.vendor.debtcollector 1.814 ms (0.75%)
ddtrace.vendor.debtcollector.removals 0.335 ms (0.14%)
ddtrace.vendor.debtcollector._utils 0.312 ms (0.13%)
ddtrace.vendor.debtcollector.moves 0.311 ms (0.13%)
ddtrace.vendor.debtcollector.updating 0.259 ms (0.11%)
ddtrace.vendor.debtcollector.renames 0.252 ms (0.10%)
ddtrace.internal.core.event_hub 1.205 ms (0.50%)
ddtrace.internal.utils.deprecations 0.244 ms (0.10%)
ddtrace.appsec 0.246 ms (0.10%)
ddtrace.bootstrap.sitecustomize 11.616 ms (4.79%)
ddtrace.bootstrap.preload 10.319 ms (4.25%)
ddtrace.internal.products 8.769 ms (3.61%)
multiprocessing 3.670 ms (1.51%)
multiprocessing.context 3.357 ms (1.38%)
multiprocessing.reduction 2.207 ms (0.91%)
pickle 1.782 ms (0.73%)
_compat_pickle 0.431 ms (0.18%)
_pickle 0.388 ms (0.16%)
multiprocessing.process 0.444 ms (0.18%)
ddtrace.internal.remoteconfig._connectors 2.308 ms (0.95%)
ctypes 1.943 ms (0.80%)
_ctypes 0.599 ms (0.25%)
ctypes._endian 0.431 ms (0.18%)
multiprocessing.sharedctypes 1.812 ms (0.75%)
multiprocessing.heap 1.146 ms (0.47%)
multiprocessing.util 0.404 ms (0.17%)
mmap 0.388 ms (0.16%)
ddtrace.internal.remoteconfig._pubsub 0.646 ms (0.27%)
ddtrace.internal.remoteconfig._subscribers 0.339 ms (0.14%)
ddtrace.internal.remoteconfig._publishers 0.333 ms (0.14%)
ddtrace.settings.crashtracker 1.149 ms (0.47%)
ddtrace.internal.datadog.profiling.crashtracker 0.582 ms (0.24%)
ddtrace.internal.datadog.profiling.crashtracker._crashtracker 0.582 ms (0.24%)
ddtrace.internal.datadog.profiling._types 0.296 ms (0.12%)
ddtrace.internal.datadog.profiling.util 0.286 ms (0.12%)
ddtrace.internal.datadog.profiling 0.568 ms (0.23%)
ddtrace.internal.datadog 0.256 ms (0.11%)
ddtrace.settings.profiling 0.400 ms (0.16%)
ddtrace.internal.datadog.profiling.ddup 0.400 ms (0.16%)
ddtrace.internal.datadog.profiling.ddup._ddup 0.400 ms (0.16%)
ddtrace.internal.datadog.profiling.code_provenance 0.400 ms (0.16%)
ddtrace._trace.trace_handlers 0.652 ms (0.27%)
ddtrace.contrib.trace_utils 0.652 ms (0.27%)
ddtrace.contrib.internal.trace_utils 0.652 ms (0.27%)
ddtrace.contrib.internal.trace_utils_base 0.652 ms (0.27%)
ddtrace.ext.user 0.232 ms (0.10%)
ddtrace.appsec._common_module_patches 0.646 ms (0.27%)
ddtrace.appsec._metrics 0.646 ms (0.27%)
ddtrace.appsec._deduplications 0.280 ms (0.12%)

The following import paths have grown:

ddtrace.auto 12.629 ms (5.21%)
ddtrace 9.909 ms (4.08%)
ddtrace.internal._unpatched 7.344 ms (3.03%)
json 7.236 ms (2.98%)
json.decoder 7.011 ms (2.89%)
json.scanner 6.917 ms (2.85%)
_json 6.868 ms (2.83%)
json.encoder 0.117 ms (0.05%)
gc 0.072 ms (0.03%)
ddtrace.trace 0.277 ms (0.11%)
ddtrace._trace.filters 0.128 ms (0.05%)
ddtrace._trace.processor 0.096 ms (0.04%)
ddtrace._trace.sampler 0.096 ms (0.04%)
ddtrace._trace.span 0.096 ms (0.04%)
ddtrace._trace._span_pointer 0.096 ms (0.04%)
ddtrace._trace.tracer 0.084 ms (0.03%)
ddtrace._trace.context 0.065 ms (0.03%)
ddtrace._trace._span_link 0.065 ms (0.03%)
ddtrace._logger 0.251 ms (0.10%)
ddtrace.internal.utils.formats 0.147 ms (0.06%)
ddtrace._monkey 0.102 ms (0.04%)
ddtrace.settings.asm 0.102 ms (0.04%)
ddtrace.bootstrap.sitecustomize 2.720 ms (1.12%)
ddtrace.bootstrap.preload 2.343 ms (0.97%)
ddtrace.settings.profiling 1.185 ms (0.49%)
ddtrace.vendor.psutil 0.726 ms (0.30%)
pwd 0.726 ms (0.30%)
ddtrace.internal.datadog.profiling.ddup 0.459 ms (0.19%)
ddtrace.internal.datadog.profiling.ddup._ddup 0.426 ms (0.18%)
ddtrace.internal.products 0.358 ms (0.15%)
importlib.metadata 0.146 ms (0.06%)
importlib.abc 0.075 ms (0.03%)
importlib.resources 0.075 ms (0.03%)
importlib.resources._common 0.075 ms (0.03%)
importlib.resources._adapters 0.075 ms (0.03%)
importlib.metadata._adapters 0.071 ms (0.03%)
ddtrace.internal.symbol_db.remoteconfig 0.136 ms (0.06%)
ddtrace.internal.symbol_db.symbols 0.055 ms (0.02%)
ddtrace.internal.safety 0.055 ms (0.02%)
ddtrace.internal.uwsgi 0.077 ms (0.03%)
ddtrace._trace.trace_handlers 0.289 ms (0.12%)
ddtrace.contrib.trace_utils 0.122 ms (0.05%)
ddtrace.contrib.internal.trace_utils 0.122 ms (0.05%)
ddtrace.contrib.internal.botocore.constants 0.087 ms (0.04%)
ddtrace.contrib.internal.botocore 0.087 ms (0.04%)
ddtrace._trace.utils 0.044 ms (0.02%)
ddtrace._trace._inferred_proxy 0.037 ms (0.02%)
ddtrace.appsec._common_module_patches 0.087 ms (0.04%)
ddtrace.appsec._asm_request_context 0.087 ms (0.04%)

The following import paths have shrunk:

ddtrace.auto 7.504 ms (3.09%)
ddtrace.bootstrap.sitecustomize 6.922 ms (2.85%)
ddtrace.bootstrap.preload 6.540 ms (2.70%)
ddtrace.internal.products 5.171 ms (2.13%)
importlib.metadata 0.810 ms (0.33%)
importlib.abc 0.656 ms (0.27%)
importlib.resources 0.656 ms (0.27%)
importlib.resources._common 0.656 ms (0.27%)
csv 0.100 ms (0.04%)
importlib.metadata._meta 0.054 ms (0.02%)
ddtrace.settings.dynamic_instrumentation 0.075 ms (0.03%)
ddtrace.internal.symbol_db.remoteconfig 0.064 ms (0.03%)
ddtrace.internal.symbol_db.symbols 0.064 ms (0.03%)
ddtrace.settings.symbol_db 0.064 ms (0.03%)
ddtrace.settings.code_origin 0.036 ms (0.01%)
ddtrace.settings.errortracking 0.028 ms (0.01%)
ddtrace.settings.profiling 0.769 ms (0.32%)
ddtrace.vendor.psutil 0.769 ms (0.32%)
ddtrace.vendor.psutil._common 0.704 ms (0.29%)
ddtrace.vendor.psutil._pslinux 0.065 ms (0.03%)
glob 0.065 ms (0.03%)
ddtrace.settings.crashtracker 0.480 ms (0.20%)
ddtrace.internal.datadog.profiling.crashtracker 0.480 ms (0.20%)
ddtrace.internal.datadog.profiling.crashtracker._crashtracker 0.451 ms (0.19%)
ddtrace.internal.runtime.runtime_metrics 0.119 ms (0.05%)
ddtrace.appsec._common_module_patches 0.179 ms (0.07%)
ddtrace.appsec._asm_request_context 0.150 ms (0.06%)
ddtrace.appsec._utils 0.150 ms (0.06%)
ddtrace._trace.trace_handlers 0.053 ms (0.02%)
ddtrace._trace._inferred_proxy 0.053 ms (0.02%)
ddtrace.propagation.http 0.053 ms (0.02%)
ddtrace 0.582 ms (0.24%)
ddtrace.trace 0.582 ms (0.24%)
ddtrace._trace.filters 0.277 ms (0.11%)
ddtrace._trace.processor 0.277 ms (0.11%)
ddtrace.internal.writer 0.149 ms (0.06%)
ddtrace.internal.writer.writer 0.149 ms (0.06%)
ddtrace.internal.writer.writer_client 0.092 ms (0.04%)
ddtrace._trace.sampler 0.077 ms (0.03%)
ddtrace._trace.span 0.077 ms (0.03%)
ddtrace.internal.sampling 0.077 ms (0.03%)
ddtrace._trace.sampling_rule 0.077 ms (0.03%)
ddtrace._trace.context 0.133 ms (0.05%)
ddtrace._trace.types 0.070 ms (0.03%)
ddtrace._trace.tracer 0.113 ms (0.05%)
ddtrace.internal.processor.endpoint_call_counter 0.113 ms (0.05%)

@pr-commenter
Copy link

pr-commenter bot commented Apr 11, 2025

Benchmarks

Benchmark execution time: 2025-04-21 09:43:40

Comparing candidate commit 2e0cb58 in PR branch backport-13156-to-3.3 with baseline commit c432edb in branch 3.3.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 474 metrics, 2 unstable metrics.

@avara1986 avara1986 closed this Apr 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ASM Application Security Monitoring
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants