Skip to content

fix(ci): fix the 4.12 branch - #19064

Closed
juanjux wants to merge 13 commits into
3.12from
juanjux/fix-circular-imports-3.12
Closed

juanjux wants to merge 13 commits into
3.12from
juanjux/fix-circular-imports-3.12

Conversation

@juanjux

@juanjux juanjux commented Jul 15, 2026 •

Copy link
Copy Markdown
Collaborator

Description

Fixes the 4.12 branch against current dependency, build-tool, and CI infrastructure releases:

  • Backports refactor: decouple default service name from the versioned schematize_service_name function #19030 to decouple default service-name resolution from the versioned span schema. This removes 212,234 circular import paths, including the settings._config -> internal.schema -> span_attribute_schema -> ddtrace family, without introducing new cycles.
  • Backports the pkg_resources platform lookup removal from chore: replace pkg_resources usage with distutils #16290 so current setuptools versions can build 3.12 wheels.
  • Caps setuptools-scm<10 for both PEP 517 and legacy setup.py builds because the legacy setup_requires installer does not resolve setuptools-scm 10's vcs_versioning dependency.
  • Caps wrapt<2 because the 3.12 wrapper detection and integration patching code is incompatible with wrapt 2's proxy hierarchy. This fixes deterministic patch/unpatch failures across unrelated integrations after wrapt 2.2.2 was released.
  • Constrains setuptools only while the bootstrap import-analysis workflow installs the unchanged 3.12 baseline, and skips its reporting action when an earlier failure leaves no report file.
  • Pins setuptools<82 in internal test environments that intentionally exercise pkg_resources, and handles current zope/jaraco namespace package normalization in distribution metadata checks.
  • Backports ci(internal): accept http git URLs #17583 so source-link validation accepts the internal HTTP Git mirror used by current GitLab runners.
  • Pins system-tests to the last revision validated for the 3.12 branch and pairs it with Agent 7.71.0. Newer harnesses require ddtrace.openfeature, while current Agents change delivery retries and payloads expected by this legacy harness.

Testing

  • scripts/ddtest riot -v run --pass-env cfa931e -- tests/internal/service_name/test_imports.py — 5 passed
  • python -m pip wheel --no-deps . with an isolated PEP 517 build environment — wheel built successfully
  • Circular import analysis — 957,998 → 745,764 cycles; no new cycles
  • TestUrllib3Patch::test_patch_unpatch_patch_import under Python 3.12 after a fresh package install — passed
  • Flask idempotency tests in the standard Python 3.12 environment — 3 passed
  • Source-code-link test with the GitLab internal HTTP mirror URL — passed
  • Python 3.13 module-watchdog pkg_resources tests — 2 passed
  • Python 3.13 distribution metadata comparison — passed
  • Riot requirements compile/prune consistency check — passed
  • System-test artifact analysis confirmed the tracer emitted each request once; Agent 7.81.1 retried backend-rejected payloads four times, which the September 2025 harness counted as duplicate spans.
  • Verified the pinned datadog/agent:7.71.0 multi-platform image is available.

Risks

Low. The schema refactor preserves existing service-name behavior, while the dependency caps exclude versions that the 3.12 implementation cannot support. The system-tests harness and Agent versions are paired to the stack previously validated for this branch.

Additional Notes

Includes a release note for the wrapt compatibility constraint. The schema and build changes backport #19030 and #16290; the wrapt constraint follows #14955 and the Git mirror test follows #17583.

…19030)

Separate default service-name resolution from the versioned span schema so settings no longer pull the full schema dependency graph into initialization.

(cherry picked from commit 7277714)
@juanjux
juanjux requested review from a team as code owners July 15, 2026 11:33
@juanjux
juanjux requested review from emmettbutler and removed request for a team July 15, 2026 11:33
@juanjux juanjux added the changelog/no-changelog A changelog entry is not required for this PR. label Jul 15, 2026
@juanjux
juanjux requested a review from dubloom July 15, 2026 11:33
@github-actions

github-actions Bot commented Jul 15, 2026 •

Copy link
Copy Markdown
Contributor

CODEOWNERS have been resolved as:

.riot/requirements/1330f15.txt                                          @DataDog/apm-python
.riot/requirements/14b43c7.txt                                          @DataDog/apm-python
.riot/requirements/1553545.txt                                          @DataDog/apm-python
.riot/requirements/34398be.txt                                          @DataDog/apm-python
.riot/requirements/46f2735.txt                                          @DataDog/apm-python
ddtrace/internal/schema/default.py                                      @DataDog/apm-core-python @DataDog/apm-idm-python
releasenotes/notes/avoid-wrapt-two-fd3b8ad3057343ba.yaml                @DataDog/apm-python
.github/workflows/build_python_3.yml                                    @DataDog/python-guild @DataDog/apm-core-python
.github/workflows/import-analysis.yml                                   @DataDog/python-guild @DataDog/apm-core-python
.github/workflows/system-tests.yml                                      @DataDog/python-guild @DataDog/apm-core-python
.gitlab-ci.yml                                                          @DataDog/apm-core-python
ddtrace/internal/schema/__init__.py                                     @DataDog/apm-core-python @DataDog/apm-idm-python
ddtrace/internal/schema/span_attribute_schema.py                        @DataDog/apm-core-python @DataDog/apm-idm-python
ddtrace/settings/_config.py                                             @DataDog/apm-core-python
lib-injection/sources/requirements.csv                                  @DataDog/apm-core-python
pyproject.toml                                                          @DataDog/python-guild
requirements.csv                                                        @DataDog/apm-core-python
riotfile.py                                                             @DataDog/apm-python
scripts/gen_gitlab_config.py                                            @DataDog/apm-core-python
setup.py                                                                @DataDog/python-guild
tests/contrib/aiohttp/test_middleware.py                                @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/aiomysql/test_aiomysql.py                                 @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/aiopg/test.py                                             @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/boto/test.py                                              @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/botocore/test.py                                          @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/bottle/test.py                                            @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/cassandra/test.py                                         @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/consul/test.py                                            @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/elasticsearch/test_elasticsearch.py                       @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/flask_cache/test.py                                       @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/grpc/test_grpc.py                                         @DataDog/apm-idm-python @DataDog/asm-python
tests/contrib/httplib/test_httplib.py                                   @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/kombu/test.py                                             @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/mako/test_mako.py                                         @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/molten/test_molten.py                                     @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/mongoengine/test.py                                       @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/mysqldb/test_mysqldb.py                                   @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/psycopg/test_psycopg.py                                   @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/psycopg2/test_psycopg.py                                  @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/pymemcache/test_client.py                                 @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/pymysql/test_pymysql.py                                   @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/pynamodb/test_pynamodb.py                                 @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/pyodbc/test_pyodbc.py                                     @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/pyramid/test_pyramid.py                                   @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/redis/test_redis.py                                       @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/redis/test_redis_cluster.py                               @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/redis/test_redis_cluster_asyncio.py                       @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/rediscluster/test.py                                      @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/requests/test_requests.py                                 @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/sqlalchemy/test_mysql.py                                  @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/sqlite3/test_sqlite3.py                                   @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/tornado/test_tornado_web.py                               @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/urllib3/test_urllib3.py                                   @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/valkey/test_valkey.py                                     @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/valkey/test_valkey_cluster.py                             @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/valkey/test_valkey_cluster_asyncio.py                     @DataDog/apm-core-python @DataDog/apm-idm-python
tests/contrib/vertica/test_vertica.py                                   @DataDog/apm-core-python @DataDog/apm-idm-python
tests/internal/service_name/test_imports.py                             @DataDog/apm-core-python
tests/internal/test_packages.py                                         @DataDog/apm-core-python
tests/llmobs/test_llmobs_span_agentless_writer.py                       @DataDog/ml-observability
tests/sourcecode/test_source_code_link.py                               @DataDog/apm-core-python
.riot/requirements/1cb4f81.txt                                          @DataDog/apm-python

@datadog-datadog-prod-us1-2

datadog-datadog-prod-us1-2 Bot commented Jul 15, 2026 •

Copy link
Copy Markdown
Contributor

Pipelines  Tests

✨ Fix all issues with BitsAI

⚠️ Warnings

🚦 153 Pipeline jobs failed

DataDog/apm-reliability/dd-trace-py | Amazon_Linux_2022_arm64.SID0: [test-app-python]   View in Datadog   GitLab

DataDog/apm-reliability/dd-trace-py | Amazon_Linux_2023_amd64.SID0: [test-app-python]   View in Datadog   GitLab

DataDog/apm-reliability/dd-trace-py | Ubuntu_23_10_arm64.SI94: [test-app-python-alpine]   View in Datadog   GitLab

View all 153 failed jobs.

ℹ️ Info

No other issues found (see more)

🧪 All tests passed
❄️ No new flaky tests detected

🔄 Datadog retried 7 tests - 5 passed on retry View in Datadog

🔄 Datadog auto-retried 67 jobs - 0 passed on retry View in Datadog

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: bb190f0 | Docs | Datadog PR Page | Give us feedback!

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 02ce2ecdf5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread ddtrace/settings/_config.py
Use distutils.util.get_platform so PEP 517 builds continue to work after pkg_resources was removed from setuptools.

(cherry picked from commit b1e827d)
@juanjux
juanjux requested a review from a team as a code owner July 15, 2026 11:41
@juanjux
juanjux enabled auto-merge (squash) July 15, 2026 11:45
juanjux added 3 commits July 15, 2026 13:58
Keep direct setup.py invocations below setuptools-scm 10, whose split vcs_versioning dependency is not resolved by the deprecated setup_requires installer.
Keep the PEP 517 build-system requirement consistent with setup_requires so pip resolves a compatible setuptools-scm version.
Prevent wrapt 2.x from breaking wrapper detection and patching across integrations on the 3.12 branch.
@juanjux
juanjux requested a review from a team as a code owner July 15, 2026 12:45
@juanjux juanjux changed the title refactor: decouple default service name from schematize_service_name [backport 3.12] fix: fix the 3.12 branch Jul 15, 2026
@juanjux juanjux removed the changelog/no-changelog A changelog entry is not required for this PR. label Jul 15, 2026
@juanjux juanjux changed the title fix: fix the 3.12 branch fix(ci): fix the 3.12 branch Jul 15, 2026
juanjux added 2 commits July 15, 2026 15:06
Keep bootstrap import analysis able to install the unchanged 3.12 base and avoid reporting a missing result after earlier failures.
Allow source-link validation to handle the internal HTTP mirror used by current GitLab runners.
@github-actions

github-actions Bot commented Jul 15, 2026 •

Copy link
Copy Markdown
Contributor

Bootstrap import analysis

Comparison of import times between this PR and base.

Summary

The average import time from this PR is: 232 ± 6 ms.

The average import time from base is: 249 ± 7 ms.

The import time difference between this PR and base is: -17.5 ± 0.3 ms.

Import time breakdown

The following import paths have appeared:

ddtrace.auto 31.810 ms (13.72%)
ddtrace 23.311 ms (10.06%)
ddtrace._logger 17.977 ms (7.76%)
ddtrace.internal.telemetry 17.977 ms (7.76%)
ddtrace.internal.telemetry.writer 15.139 ms (6.53%)
http.client 14.871 ms (6.42%)
email.parser 8.802 ms (3.80%)
email.feedparser 8.597 ms (3.71%)
email._policybase 8.005 ms (3.45%)
email.header 3.822 ms (1.65%)
email.charset 1.598 ms (0.69%)
email.encoders 1.330 ms (0.57%)
quopri 1.150 ms (0.50%)
email.base64mime 0.866 ms (0.37%)
base64 0.699 ms (0.30%)
struct 0.400 ms (0.17%)
_struct 0.246 ms (0.11%)
binascii 0.370 ms (0.16%)
email.quoprimime 0.303 ms (0.13%)
email.utils 3.664 ms (1.58%)
email._parseaddr 1.275 ms (0.55%)
calendar 0.943 ms (0.41%)
random 1.266 ms (0.55%)
bisect 0.407 ms (0.18%)
_bisect 0.227 ms (0.10%)
_sha2 0.195 ms (0.08%)
_random 0.195 ms (0.08%)
datetime 0.547 ms (0.24%)
_datetime 0.375 ms (0.16%)
email.errors 0.592 ms (0.26%)
email 0.205 ms (0.09%)
ssl 4.930 ms (2.13%)
_ssl 1.667 ms (0.72%)
email.message 1.138 ms (0.49%)
email._encoded_words 0.350 ms (0.15%)
email.iterators 0.188 ms (0.08%)
ddtrace.internal.encoding 0.268 ms (0.12%)
ddtrace.internal._encoding 0.268 ms (0.12%)
zlib 0.268 ms (0.12%)
ddtrace.settings._agent 2.838 ms (1.22%)
socket 2.465 ms (1.06%)
_socket 0.512 ms (0.22%)
array 0.337 ms (0.15%)
ddtrace.settings 0.373 ms (0.16%)
ddtrace.vendor.debtcollector 0.373 ms (0.16%)
ddtrace.vendor 0.373 ms (0.16%)
ddtrace.internal.module 0.373 ms (0.16%)
ddtrace.internal.wrapping.context 0.373 ms (0.16%)
ddtrace.internal.utils.inspection 0.373 ms (0.16%)
ddtrace.internal.safety 0.373 ms (0.16%)
wrapt 0.373 ms (0.16%)
wrapt.decorators 0.373 ms (0.16%)
wrapt.arguments 0.086 ms (0.04%)
ddtrace.settings._config 4.850 ms (2.09%)
ddtrace.internal.gitmetadata 3.970 ms (1.71%)
ddtrace.ext.ci 3.970 ms (1.71%)
ddtrace.ext.git 3.970 ms (1.71%)
shutil 3.386 ms (1.46%)
bz2 0.929 ms (0.40%)
_bz2 0.343 ms (0.15%)
_compression 0.287 ms (0.12%)
lzma 0.647 ms (0.28%)
_lzma 0.346 ms (0.15%)
tempfile 0.584 ms (0.25%)
ddtrace.internal.schema.default 0.880 ms (0.38%)
ddtrace.internal.schema 0.856 ms (0.37%)
ddtrace.internal.schema.span_attribute_schema 0.343 ms (0.15%)
ddtrace.internal.schema.default 0.279 ms (0.12%)
ddtrace.trace 0.484 ms (0.21%)
ddtrace._trace.filters 0.484 ms (0.21%)
ddtrace._trace.processor 0.484 ms (0.21%)
ddtrace.internal.writer 0.484 ms (0.21%)
ddtrace.internal.writer.writer 0.484 ms (0.21%)
ddtrace.internal.dogstatsd 0.484 ms (0.21%)
ddtrace.vendor.dogstatsd 0.484 ms (0.21%)
ddtrace.vendor.dogstatsd.base 0.484 ms (0.21%)
queue 0.484 ms (0.21%)
heapq 0.484 ms (0.21%)
_heapq 0.256 ms (0.11%)
ddtrace.bootstrap.sitecustomize 8.499 ms (3.67%)
ddtrace.bootstrap.preload 8.499 ms (3.67%)
ddtrace.internal.products 8.499 ms (3.67%)
importlib.metadata 8.499 ms (3.67%)
importlib.abc 2.176 ms (0.94%)
importlib.resources 1.728 ms (0.75%)
importlib.resources._common 1.230 ms (0.53%)
importlib.resources.abc 0.443 ms (0.19%)
importlib.resources._adapters 0.372 ms (0.16%)
importlib.resources._legacy 0.320 ms (0.14%)
zipfile 1.760 ms (0.76%)
zipfile._path 0.764 ms (0.33%)
zipfile._path.glob 0.224 ms (0.10%)
csv 1.689 ms (0.73%)
_csv 0.356 ms (0.15%)
importlib.metadata._adapters 0.664 ms (0.29%)
importlib.metadata._text 0.365 ms (0.16%)
importlib.metadata._functools 0.172 ms (0.07%)
importlib.metadata._meta 0.423 ms (0.18%)
importlib.metadata._collections 0.423 ms (0.18%)
importlib.metadata._itertools 0.185 ms (0.08%)

The following import paths have disappeared:

ddtrace.auto 37.170 ms (16.04%)
ddtrace 37.170 ms (16.04%)
ddtrace._logger 36.520 ms (15.75%)
ddtrace.internal.telemetry 36.520 ms (15.75%)
ddtrace.settings._agent 36.520 ms (15.75%)
ddtrace.settings 36.520 ms (15.75%)
ddtrace.vendor.debtcollector 36.520 ms (15.75%)
ddtrace.vendor 36.520 ms (15.75%)
ddtrace.internal.module 36.520 ms (15.75%)
ddtrace.internal.wrapping.context 36.520 ms (15.75%)
ddtrace.internal.utils.inspection 36.520 ms (15.75%)
ddtrace.internal.safety 36.520 ms (15.75%)
wrapt 36.520 ms (15.75%)
wrapt.caching 20.164 ms (8.70%)
wrapt.synchronization 19.458 ms (8.39%)
asyncio 19.103 ms (8.24%)
asyncio.base_events 15.968 ms (6.89%)
ssl 5.368 ms (2.32%)
_ssl 1.654 ms (0.71%)
base64 1.064 ms (0.46%)
struct 0.433 ms (0.19%)
_struct 0.177 ms (0.08%)
binascii 0.293 ms (0.13%)
asyncio.staggered 2.530 ms (1.09%)
asyncio.tasks 1.784 ms (0.77%)
asyncio.timeouts 1.316 ms (0.57%)
asyncio.locks 0.583 ms (0.25%)
asyncio.mixins 0.100 ms (0.04%)
socket 2.072 ms (0.89%)
_socket 0.362 ms (0.16%)
array 0.221 ms (0.10%)
asyncio.events 1.785 ms (0.77%)
_asyncio 1.017 ms (0.44%)
asyncio.exceptions 0.234 ms (0.10%)
asyncio.base_futures 0.162 ms (0.07%)
asyncio.base_tasks 0.159 ms (0.07%)
asyncio.format_helpers 0.181 ms (0.08%)
asyncio.sslproto 1.163 ms (0.50%)
asyncio.transports 0.379 ms (0.16%)
asyncio.log 0.196 ms (0.08%)
concurrent.futures 0.857 ms (0.37%)
concurrent.futures._base 0.603 ms (0.26%)
concurrent 0.102 ms (0.04%)
heapq 0.318 ms (0.14%)
_heapq 0.143 ms (0.06%)
asyncio.constants 0.240 ms (0.10%)
asyncio.futures 0.217 ms (0.09%)
asyncio.trsock 0.175 ms (0.08%)
asyncio.protocols 0.164 ms (0.07%)
asyncio.coroutines 0.119 ms (0.05%)
asyncio.unix_events 1.525 ms (0.66%)
asyncio.selector_events 0.584 ms (0.25%)
asyncio.base_subprocess 0.226 ms (0.10%)
asyncio.streams 0.352 ms (0.15%)
asyncio.runners 0.295 ms (0.13%)
asyncio.queues 0.255 ms (0.11%)
asyncio.taskgroups 0.227 ms (0.10%)
asyncio.subprocess 0.206 ms (0.09%)
asyncio.threads 0.088 ms (0.04%)
wrapt.decorators 0.528 ms (0.23%)
wrapt.arguments 0.238 ms (0.10%)
wrapt.importer 15.752 ms (6.80%)
importlib.metadata 15.752 ms (6.80%)
importlib.metadata._adapters 7.181 ms (3.10%)
email.message 6.744 ms (2.91%)
email.utils 4.311 ms (1.86%)
email._parseaddr 1.207 ms (0.52%)
calendar 0.910 ms (0.39%)
email.charset 1.176 ms (0.51%)
email.errors 0.505 ms (0.22%)
email.quoprimime 0.192 ms (0.08%)
email.base64mime 0.110 ms (0.05%)
email.encoders 0.098 ms (0.04%)
random 0.975 ms (0.42%)
bisect 0.236 ms (0.10%)
_bisect 0.127 ms (0.05%)
_random 0.112 ms (0.05%)
_sha2 0.111 ms (0.05%)
datetime 0.367 ms (0.16%)
_datetime 0.206 ms (0.09%)
email._policybase 0.987 ms (0.43%)
email.header 0.694 ms (0.30%)
email._encoded_words 0.286 ms (0.12%)
quopri 0.178 ms (0.08%)
email.iterators 0.112 ms (0.05%)
importlib.metadata._text 0.211 ms (0.09%)
importlib.metadata._functools 0.082 ms (0.04%)
zipfile 3.524 ms (1.52%)
shutil 2.091 ms (0.90%)
bz2 0.652 ms (0.28%)
_bz2 0.220 ms (0.10%)
_compression 0.219 ms (0.09%)
lzma 0.465 ms (0.20%)
_lzma 0.251 ms (0.11%)
zlib 0.287 ms (0.12%)
zipfile._path 0.586 ms (0.25%)
zipfile._path.glob 0.117 ms (0.05%)
importlib.abc 2.468 ms (1.06%)
importlib.resources 2.008 ms (0.87%)
importlib.resources._common 1.746 ms (0.75%)
importlib.resources.abc 0.502 ms (0.22%)
tempfile 0.451 ms (0.19%)
importlib.resources._adapters 0.429 ms (0.19%)
importlib.resources._legacy 0.155 ms (0.07%)
csv 0.585 ms (0.25%)
_csv 0.263 ms (0.11%)
importlib.metadata._meta 0.385 ms (0.17%)
importlib.metadata._collections 0.260 ms (0.11%)
email 0.126 ms (0.05%)
importlib.metadata._itertools 0.094 ms (0.04%)
wrapt.proxies 0.311 ms (0.13%)
wrapt.signature 0.293 ms (0.13%)
ddtrace.settings._config 0.650 ms (0.28%)
ddtrace.internal.schema 0.650 ms (0.28%)
ddtrace.internal.schema.span_attribute_schema 0.397 ms (0.17%)

The following import paths have grown:

ddtrace.auto 2.426 ms (1.05%)
ddtrace 1.286 ms (0.55%)
ddtrace._logger 0.844 ms (0.36%)
ddtrace.internal.telemetry 0.844 ms (0.36%)
ddtrace.internal.telemetry.writer 0.534 ms (0.23%)
ddtrace.internal.forksafe 0.130 ms (0.06%)
ddtrace.internal.telemetry.data 0.110 ms (0.05%)
ddtrace.internal.runtime.container 0.110 ms (0.05%)
ddtrace.internal.periodic 0.107 ms (0.05%)
ddtrace.internal.utils.time 0.106 ms (0.05%)
http.client 0.082 ms (0.04%)
http 0.058 ms (0.03%)
email.parser 0.024 ms (0.01%)
ddtrace.settings._agent 0.310 ms (0.13%)
ddtrace.settings._core 0.216 ms (0.09%)
ddtrace.settings 0.093 ms (0.04%)
ddtrace.vendor.debtcollector 0.093 ms (0.04%)
ddtrace.vendor 0.093 ms (0.04%)
ddtrace.internal.module 0.093 ms (0.04%)
ddtrace.internal.wrapping.context 0.093 ms (0.04%)
ddtrace.settings._config 0.226 ms (0.10%)
ddtrace.internal.gitmetadata 0.131 ms (0.06%)
ddtrace.ext.ci 0.131 ms (0.06%)
ddtrace.ext.git 0.131 ms (0.06%)
ddtrace.settings.endpoint_config 0.096 ms (0.04%)
ddtrace.internal.utils.retry 0.096 ms (0.04%)
ddtrace.trace 0.216 ms (0.09%)
ddtrace._trace.filters 0.216 ms (0.09%)
ddtrace._trace.processor 0.216 ms (0.09%)
ddtrace._trace.sampler 0.122 ms (0.05%)
ddtrace.internal.sampling 0.122 ms (0.05%)
ddtrace.internal.writer 0.094 ms (0.04%)
ddtrace.internal.writer.writer 0.094 ms (0.04%)
ddtrace.internal.dogstatsd 0.094 ms (0.04%)
ddtrace.vendor.dogstatsd 0.094 ms (0.04%)
ddtrace.vendor.dogstatsd.base 0.094 ms (0.04%)
queue 0.094 ms (0.04%)
ddtrace.bootstrap.sitecustomize 1.140 ms (0.49%)
ddtrace.bootstrap.preload 1.088 ms (0.47%)
multiprocessing 0.875 ms (0.38%)
multiprocessing.context 0.875 ms (0.38%)
multiprocessing.process 0.834 ms (0.36%)
multiprocessing.reduction 0.042 ms (0.02%)
ddtrace.internal.runtime.runtime_metrics 0.104 ms (0.04%)
ddtrace.internal.runtime.metric_collectors 0.104 ms (0.04%)
ddtrace.internal.runtime.collector 0.104 ms (0.04%)
ddtrace.settings.profiling 0.080 ms (0.03%)
ddtrace.vendor.psutil 0.080 ms (0.03%)
ddtrace.internal.products 0.029 ms (0.01%)
ddtrace.internal.uwsgi 0.029 ms (0.01%)
ddtrace._trace.trace_handlers 0.051 ms (0.02%)
ddtrace._trace._inferred_proxy 0.051 ms (0.02%)

The following import paths have shrunk:

ddtrace.auto 14.060 ms (6.07%)
ddtrace 7.906 ms (3.41%)
ddtrace._logger 5.815 ms (2.51%)
ddtrace.internal.telemetry 5.815 ms (2.51%)
ddtrace.settings._agent 5.409 ms (2.33%)
ddtrace.settings 5.222 ms (2.25%)
ddtrace.vendor.debtcollector 5.222 ms (2.25%)
ddtrace.vendor.debtcollector._utils 4.091 ms (1.76%)
ddtrace.vendor 1.090 ms (0.47%)
ddtrace.internal.module 1.075 ms (0.46%)
ddtrace.internal.wrapping.context 0.196 ms (0.08%)
ddtrace.internal.utils.inspection 0.196 ms (0.08%)
ddtrace.internal.safety 0.196 ms (0.08%)
wrapt 0.196 ms (0.08%)
wrapt.__wrapt__ 0.106 ms (0.05%)
wrapt.wrappers 0.056 ms (0.02%)
wrapt._wrappers 0.031 ms (0.01%)
wrapt.importer 0.031 ms (0.01%)
wrapt.patches 0.024 ms (0.01%)
ddtrace.settings._core 0.187 ms (0.08%)
envier 0.117 ms (0.05%)
envier.env 0.117 ms (0.05%)
ddtrace.internal.native 0.070 ms (0.03%)
ddtrace.internal.native._native 0.070 ms (0.03%)
ddtrace.internal.telemetry.writer 0.406 ms (0.18%)
http.client 0.129 ms (0.06%)
email.parser 0.071 ms (0.03%)
email.feedparser 0.071 ms (0.03%)
ddtrace.internal.runtime 0.094 ms (0.04%)
uuid 0.094 ms (0.04%)
platform 0.094 ms (0.04%)
ddtrace.internal.periodic 0.082 ms (0.04%)
ddtrace.internal.service 0.082 ms (0.04%)
ddtrace._monkey 0.960 ms (0.41%)
ddtrace.appsec._listeners 0.960 ms (0.41%)
ddtrace.internal.core 0.960 ms (0.41%)
ddtrace.trace 0.330 ms (0.14%)
ddtrace._trace.filters 0.330 ms (0.14%)
ddtrace._trace.processor 0.330 ms (0.14%)
ddtrace.internal.writer 0.203 ms (0.09%)
ddtrace.internal.writer.writer 0.203 ms (0.09%)
ddtrace.internal.dogstatsd 0.203 ms (0.09%)
ddtrace.vendor.dogstatsd 0.203 ms (0.09%)
ddtrace.vendor.dogstatsd.base 0.203 ms (0.09%)
queue 0.056 ms (0.02%)
_queue 0.056 ms (0.02%)
ddtrace._trace.sampler 0.127 ms (0.05%)
ddtrace.internal.sampling 0.127 ms (0.05%)
ddtrace._trace.sampling_rule 0.127 ms (0.05%)
ddtrace.settings._config 0.261 ms (0.11%)
ddtrace.internal.gitmetadata 0.140 ms (0.06%)
ddtrace.ext.ci 0.140 ms (0.06%)
ddtrace.ext 0.140 ms (0.06%)
ddtrace.settings.integration 0.120 ms (0.05%)
ddtrace._hooks 0.120 ms (0.05%)
ddtrace.internal._unpatched 0.042 ms (0.02%)
json 0.042 ms (0.02%)
json.decoder 0.042 ms (0.02%)
re 0.042 ms (0.02%)
enum 0.042 ms (0.02%)
types 0.042 ms (0.02%)
ddtrace.bootstrap.sitecustomize 6.155 ms (2.66%)
ddtrace.bootstrap.preload 3.797 ms (1.64%)
ddtrace.internal.core.crashtracking 1.417 ms (0.61%)
ddtrace.settings.profiling 1.142 ms (0.49%)
ddtrace.vendor.psutil 1.142 ms (0.49%)
ddtrace.vendor.psutil._pslinux 1.047 ms (0.45%)
pwd 0.095 ms (0.04%)
ddtrace.internal.remoteconfig.client 0.542 ms (0.23%)
ddtrace.internal.runtime.runtime_metrics 0.138 ms (0.06%)
ddtrace.internal.runtime.tag_collectors 0.138 ms (0.06%)
ddtrace._trace.trace_handlers 1.250 ms (0.54%)
ddtrace._trace._inferred_proxy 1.136 ms (0.49%)
ddtrace.propagation.http 1.136 ms (0.49%)
ddtrace.propagation._utils 1.136 ms (0.49%)
ddtrace.contrib.trace_utils 0.086 ms (0.04%)
ddtrace.contrib.internal.trace_utils 0.086 ms (0.04%)
ddtrace.contrib.internal.trace_utils_base 0.086 ms (0.04%)
ddtrace._trace.utils 0.028 ms (0.01%)
shlex 0.069 ms (0.03%)

juanjux added 3 commits July 15, 2026 16:00
Pin setuptools before pkg_resources removal and normalize namespace package names when comparing distribution metadata.
Use the validated system-tests revision that handles empty metric payloads, optional FQDNs, and current Agent delivery behavior.
Pair the last validated pre-OpenFeature harness with Agent 7.71.0 so current external releases cannot change the legacy branch's test inputs.
Use deterministic LLMObs intake responses and retain compatible system-test coverage where the 3.12 branch lacks newer telemetry or retired credentials.
@juanjux
juanjux requested a review from a team as a code owner July 15, 2026 15:57
juanjux added 2 commits July 15, 2026 18:08
Format the LLMObs test with the branch-pinned Black version used by GitLab prechecks.
Use the supported Intel macOS runner and give documentation cache upload enough time to complete.
@pr-commenter

pr-commenter Bot commented Jul 15, 2026

Copy link
Copy Markdown

Performance SLOs

Comparing candidate juanjux/fix-circular-imports-3.12 (bb190f0) with baseline 3.12 (90a0577)

🟡 Near SLO Breach (2 suites)
🟡 flasksimple - 15/15

✅ appsec-get

Time: ✅ 4.630ms (SLO: <4.750ms -2.5%) vs baseline: -0.7%

Memory: ✅ 61.814MB (SLO: <64.500MB -4.2%) vs baseline: +4.6%


✅ appsec-post

Time: ✅ 6.687ms (SLO: <6.750ms 🟡 -0.9%) vs baseline: -0.8%

Memory: ✅ 61.715MB (SLO: <64.500MB -4.3%) vs baseline: +4.2%


✅ appsec-telemetry

Time: ✅ 4.642ms (SLO: <4.750ms -2.3%) vs baseline: -0.9%

Memory: ✅ 61.774MB (SLO: <64.500MB -4.2%) vs baseline: +4.3%


✅ debugger

Time: ✅ 1.868ms (SLO: <2.000ms -6.6%) vs baseline: -0.2%

Memory: ✅ 43.374MB (SLO: <45.000MB -3.6%) vs baseline: +1.1%


✅ iast-get

Time: ✅ 1.866ms (SLO: <2.000ms -6.7%) vs baseline: ~same

Memory: ✅ 46.670MB (SLO: <49.000MB -4.8%) vs baseline: +1.5%


✅ profiler

Time: ✅ 1.930ms (SLO: <2.100ms -8.1%) vs baseline: +0.3%

Memory: ✅ 43.983MB (SLO: <46.500MB -5.4%) vs baseline: +1.1%


✅ tracer

Time: ✅ 3.425ms (SLO: <3.650ms -6.2%) vs baseline: +0.2%

Memory: ✅ 50.804MB (SLO: <53.500MB -5.0%) vs baseline: +1.6%


🟡 otelspan - 22/22

✅ add-event

Time: ✅ 45.469ms (SLO: <47.150ms -3.6%) vs baseline: +0.5%

Memory: ✅ 44.574MB (SLO: <46.500MB -4.1%) vs baseline: +4.8%


✅ add-metrics

Time: ✅ 323.659ms (SLO: <344.800ms -6.1%) vs baseline: +0.9%

Memory: ✅ 558.293MB (SLO: <562.000MB 🟡 -0.7%) vs baseline: +4.8%


✅ add-tags

Time: ✅ 294.533ms (SLO: <314.000ms -6.2%) vs baseline: +1.1%

Memory: ✅ 558.273MB (SLO: <563.500MB 🟡 -0.9%) vs baseline: +4.6%


✅ get-context

Time: ✅ 87.772ms (SLO: <92.350ms -5.0%) vs baseline: ~same

Memory: ✅ 39.659MB (SLO: <46.500MB 📉 -14.7%) vs baseline: +4.3%


✅ is-recording

Time: ✅ 42.933ms (SLO: <44.500ms -3.5%) vs baseline: +0.3%

Memory: ✅ 43.921MB (SLO: <46.500MB -5.5%) vs baseline: +4.9%


✅ record-exception

Time: ✅ 61.816ms (SLO: <67.650ms -8.6%) vs baseline: -0.1%

Memory: ✅ 39.930MB (SLO: <46.500MB 📉 -14.1%) vs baseline: +4.3%


✅ set-status

Time: ✅ 48.882ms (SLO: <50.400ms -3.0%) vs baseline: -0.3%

Memory: ✅ 43.866MB (SLO: <46.500MB -5.7%) vs baseline: +4.5%


✅ start

Time: ✅ 42.427ms (SLO: <43.450ms -2.4%) vs baseline: +0.6%

Memory: ✅ 43.898MB (SLO: <46.500MB -5.6%) vs baseline: +4.6%


✅ start-finish

Time: ✅ 85.069ms (SLO: <88.000ms -3.3%) vs baseline: -0.3%

Memory: ✅ 33.836MB (SLO: <46.500MB 📉 -27.2%) vs baseline: +4.7%


✅ start-finish-telemetry

Time: ✅ 87.099ms (SLO: <89.000ms -2.1%) vs baseline: +0.2%

Memory: ✅ 33.856MB (SLO: <46.500MB 📉 -27.2%) vs baseline: +4.8%


✅ update-name

Time: ✅ 44.520ms (SLO: <45.150ms 🟡 -1.4%) vs baseline: +0.9%

Memory: ✅ 44.235MB (SLO: <46.500MB -4.9%) vs baseline: +4.6%

📉 Performance Improvements (1 suite)
📉 telemetryaddmetric - 30/30

✅ 1-count-metric-1-times

Time: ✅ 3.192µs (SLO: <10.000µs 📉 -68.1%) vs baseline: 📉 -23.5%

Memory: ✅ 31.339MB (SLO: <34.000MB -7.8%) vs baseline: -0.3%


✅ 1-count-metrics-100-times

Time: ✅ 217.154µs (SLO: <240.000µs -9.5%) vs baseline: 📉 -30.4%

Memory: ✅ 31.339MB (SLO: <34.000MB -7.8%) vs baseline: -0.3%


✅ 1-distribution-metric-1-times

Time: ✅ 2.994µs (SLO: <10.000µs 📉 -70.1%) vs baseline: 📉 -24.6%

Memory: ✅ 31.320MB (SLO: <34.000MB -7.9%) vs baseline: -0.5%


✅ 1-distribution-metrics-100-times

Time: ✅ 195.071µs (SLO: <210.000µs -7.1%) vs baseline: 📉 -33.2%

Memory: ✅ 31.359MB (SLO: <34.000MB -7.8%) vs baseline: -0.3%


✅ 1-gauge-metric-1-times

Time: ✅ 2.172µs (SLO: <10.000µs 📉 -78.3%) vs baseline: +2.9%

Memory: ✅ 31.339MB (SLO: <34.000MB -7.8%) vs baseline: -0.4%


✅ 1-gauge-metrics-100-times

Time: ✅ 125.050µs (SLO: <140.000µs 📉 -10.7%) vs baseline: +0.9%

Memory: ✅ 31.320MB (SLO: <34.000MB -7.9%) vs baseline: -0.6%


✅ 1-rate-metric-1-times

Time: ✅ 3.147µs (SLO: <10.000µs 📉 -68.5%) vs baseline: 📉 -24.9%

Memory: ✅ 31.438MB (SLO: <34.000MB -7.5%) vs baseline: ~same


✅ 1-rate-metrics-100-times

Time: ✅ 217.172µs (SLO: <240.000µs -9.5%) vs baseline: 📉 -30.7%

Memory: ✅ 31.359MB (SLO: <34.000MB -7.8%) vs baseline: -0.3%


✅ 100-count-metrics-100-times

Time: ✅ 21.570ms (SLO: <23.000ms -6.2%) vs baseline: 📉 -31.5%

Memory: ✅ 31.693MB (SLO: <34.000MB -6.8%) vs baseline: +0.7%


✅ 100-distribution-metrics-100-times

Time: ✅ 2.022ms (SLO: <2.200ms -8.1%) vs baseline: 📉 -32.7%

Memory: ✅ 31.654MB (SLO: <34.000MB -6.9%) vs baseline: +0.4%


✅ 100-gauge-metrics-100-times

Time: ✅ 1.270ms (SLO: <1.500ms 📉 -15.3%) vs baseline: -0.9%

Memory: ✅ 31.693MB (SLO: <34.000MB -6.8%) vs baseline: +0.3%


✅ 100-rate-metrics-100-times

Time: ✅ 2.209ms (SLO: <2.500ms 📉 -11.6%) vs baseline: 📉 -30.8%

Memory: ✅ 31.772MB (SLO: <34.000MB -6.6%) vs baseline: +1.0%


✅ flush-1-metric

Time: ✅ 4.323µs (SLO: <10.000µs 📉 -56.8%) vs baseline: 📉 -20.1%

Memory: ✅ 31.674MB (SLO: <34.000MB -6.8%) vs baseline: +0.6%


✅ flush-100-metrics

Time: ✅ 183.727µs (SLO: <200.000µs -8.1%) vs baseline: ~same

Memory: ✅ 31.772MB (SLO: <34.000MB -6.6%) vs baseline: +0.8%


✅ flush-1000-metrics

Time: ✅ 2.220ms (SLO: <2.450ms -9.4%) vs baseline: +0.1%

Memory: ✅ 32.499MB (SLO: <34.500MB -5.8%) vs baseline: +1.0%

⚠️ Unstable Tests (1 suite)
⚠️ coreapiscenario - 12/12 (2 unstable)

⚠️ context_with_data_listeners

Time: ⚠️ 13.836µs (SLO: <20.000µs 📉 -30.8%) vs baseline: -0.4%

Memory: ✅ 31.379MB (SLO: <33.500MB -6.3%) vs baseline: ~same


✅ context_with_data_no_listeners

Time: ✅ 3.782µs (SLO: <10.000µs 📉 -62.2%) vs baseline: -0.9%

Memory: ✅ 31.320MB (SLO: <33.500MB -6.5%) vs baseline: ~same


⚠️ context_with_data_only_all_listeners

Time: ⚠️ 13.848µs (SLO: <20.000µs 📉 -30.8%) vs baseline: -0.3%

Memory: ✅ 31.359MB (SLO: <33.500MB -6.4%) vs baseline: -0.3%


✅ get_item_exists

Time: ✅ 0.633µs (SLO: <10.000µs 📉 -93.7%) vs baseline: +0.2%

Memory: ✅ 31.359MB (SLO: <33.500MB -6.4%) vs baseline: +0.9%


✅ get_item_missing

Time: ✅ 0.697µs (SLO: <10.000µs 📉 -93.0%) vs baseline: +1.2%

Memory: ✅ 31.339MB (SLO: <33.500MB -6.4%) vs baseline: +0.9%


✅ set_item

Time: ✅ 25.005µs (SLO: <30.000µs 📉 -16.7%) vs baseline: ~same

Memory: ✅ 31.339MB (SLO: <33.500MB -6.4%) vs baseline: +0.7%

✅ All Tests Passing (18 suites)
✅ errortrackingflasksqli - 6/6

✅ errortracking-enabled-all

Time: ✅ 2.144ms (SLO: <2.300ms -6.8%) vs baseline: -1.0%

Memory: ✅ 50.782MB (SLO: <53.500MB -5.1%) vs baseline: +1.8%


✅ errortracking-enabled-user

Time: ✅ 2.140ms (SLO: <2.250ms -4.9%) vs baseline: -1.4%

Memory: ✅ 50.725MB (SLO: <53.500MB -5.2%) vs baseline: +1.7%


✅ tracer-enabled

Time: ✅ 2.142ms (SLO: <2.300ms -6.9%) vs baseline: -1.1%

Memory: ✅ 50.763MB (SLO: <53.500MB -5.1%) vs baseline: +1.9%


✅ flasksqli - 6/6

✅ appsec-enabled

Time: ✅ 4.018ms (SLO: <4.200ms -4.3%) vs baseline: -1.0%

Memory: ✅ 62.108MB (SLO: <66.000MB -5.9%) vs baseline: +4.6%


✅ iast-enabled

Time: ✅ 2.586ms (SLO: <2.800ms -7.7%) vs baseline: -2.5%

Memory: ✅ 57.484MB (SLO: <59.000MB -2.6%) vs baseline: +1.9%


✅ tracer-enabled

Time: ✅ 2.130ms (SLO: <2.250ms -5.3%) vs baseline: -1.5%

Memory: ✅ 50.644MB (SLO: <53.500MB -5.3%) vs baseline: +1.4%


✅ httppropagationextract - 60/60

✅ all_styles_all_headers

Time: ✅ 83.562µs (SLO: <100.000µs 📉 -16.4%) vs baseline: -4.0%

Memory: ✅ 31.693MB (SLO: <33.500MB -5.4%) vs baseline: +0.4%


✅ b3_headers

Time: ✅ 14.347µs (SLO: <20.000µs 📉 -28.3%) vs baseline: -7.6%

Memory: ✅ 31.516MB (SLO: <33.500MB -5.9%) vs baseline: -0.4%


✅ b3_single_headers

Time: ✅ 13.371µs (SLO: <20.000µs 📉 -33.1%) vs baseline: -8.4%

Memory: ✅ 31.752MB (SLO: <33.500MB -5.2%) vs baseline: +0.6%


✅ datadog_tracecontext_tracestate_not_propagated_on_trace_id_no_match

Time: ✅ 66.441µs (SLO: <80.000µs 📉 -16.9%) vs baseline: -1.4%

Memory: ✅ 31.713MB (SLO: <33.500MB -5.3%) vs baseline: +0.3%


✅ datadog_tracecontext_tracestate_propagated_on_trace_id_match

Time: ✅ 68.130µs (SLO: <80.000µs 📉 -14.8%) vs baseline: -1.6%

Memory: ✅ 31.811MB (SLO: <33.500MB -5.0%) vs baseline: +0.4%


✅ empty_headers

Time: ✅ 1.591µs (SLO: <10.000µs 📉 -84.1%) vs baseline: -0.5%

Memory: ✅ 31.752MB (SLO: <33.500MB -5.2%) vs baseline: +0.4%


✅ full_t_id_datadog_headers

Time: ✅ 24.109µs (SLO: <30.000µs 📉 -19.6%) vs baseline: -4.2%

Memory: ✅ 31.752MB (SLO: <33.500MB -5.2%) vs baseline: +0.5%


✅ invalid_priority_header

Time: ✅ 6.484µs (SLO: <10.000µs 📉 -35.2%) vs baseline: -1.2%

Memory: ✅ 31.536MB (SLO: <33.500MB -5.9%) vs baseline: -0.2%


✅ invalid_span_id_header

Time: ✅ 6.465µs (SLO: <10.000µs 📉 -35.4%) vs baseline: -0.9%

Memory: ✅ 31.772MB (SLO: <33.500MB -5.2%) vs baseline: +0.6%


✅ invalid_tags_header

Time: ✅ 6.508µs (SLO: <10.000µs 📉 -34.9%) vs baseline: ~same

Memory: ✅ 31.772MB (SLO: <33.500MB -5.2%) vs baseline: +0.6%


✅ invalid_trace_id_header

Time: ✅ 6.491µs (SLO: <10.000µs 📉 -35.1%) vs baseline: -0.7%

Memory: ✅ 31.497MB (SLO: <33.500MB -6.0%) vs baseline: -0.4%


✅ large_header_no_matches

Time: ✅ 27.522µs (SLO: <30.000µs -8.3%) vs baseline: -0.4%

Memory: ✅ 31.379MB (SLO: <33.500MB -6.3%) vs baseline: -0.9%


✅ large_valid_headers_all

Time: ✅ 28.604µs (SLO: <40.000µs 📉 -28.5%) vs baseline: -0.6%

Memory: ✅ 31.693MB (SLO: <33.500MB -5.4%) vs baseline: ~same


✅ medium_header_no_matches

Time: ✅ 9.793µs (SLO: <20.000µs 📉 -51.0%) vs baseline: -0.4%

Memory: ✅ 31.398MB (SLO: <33.500MB -6.3%) vs baseline: -0.5%


✅ medium_valid_headers_all

Time: ✅ 11.199µs (SLO: <20.000µs 📉 -44.0%) vs baseline: +0.1%

Memory: ✅ 31.792MB (SLO: <33.500MB -5.1%) vs baseline: +0.4%


✅ none_propagation_style

Time: ✅ 1.685µs (SLO: <10.000µs 📉 -83.2%) vs baseline: -2.0%

Memory: ✅ 31.575MB (SLO: <33.500MB -5.7%) vs baseline: -0.1%


✅ tracecontext_headers

Time: ✅ 34.471µs (SLO: <40.000µs 📉 -13.8%) vs baseline: -3.7%

Memory: ✅ 31.772MB (SLO: <33.500MB -5.2%) vs baseline: +0.4%


✅ valid_headers_all

Time: ✅ 6.505µs (SLO: <10.000µs 📉 -35.0%) vs baseline: +0.1%

Memory: ✅ 31.752MB (SLO: <33.500MB -5.2%) vs baseline: +0.3%


✅ valid_headers_basic

Time: ✅ 6.077µs (SLO: <10.000µs 📉 -39.2%) vs baseline: -0.8%

Memory: ✅ 31.418MB (SLO: <33.500MB -6.2%) vs baseline: -0.7%


✅ wsgi_empty_headers

Time: ✅ 1.597µs (SLO: <10.000µs 📉 -84.0%) vs baseline: -0.9%

Memory: ✅ 31.398MB (SLO: <33.500MB -6.3%) vs baseline: -0.5%


✅ wsgi_invalid_priority_header

Time: ✅ 6.550µs (SLO: <10.000µs 📉 -34.5%) vs baseline: -0.2%

Memory: ✅ 31.595MB (SLO: <33.500MB -5.7%) vs baseline: +0.1%


✅ wsgi_invalid_span_id_header

Time: ✅ 1.590µs (SLO: <10.000µs 📉 -84.1%) vs baseline: -0.2%

Memory: ✅ 31.457MB (SLO: <33.500MB -6.1%) vs baseline: -0.5%


✅ wsgi_invalid_tags_header

Time: ✅ 6.568µs (SLO: <10.000µs 📉 -34.3%) vs baseline: -0.2%

Memory: ✅ 31.811MB (SLO: <33.500MB -5.0%) vs baseline: +0.7%


✅ wsgi_invalid_trace_id_header

Time: ✅ 6.563µs (SLO: <10.000µs 📉 -34.4%) vs baseline: ~same

Memory: ✅ 31.556MB (SLO: <33.500MB -5.8%) vs baseline: ~same


✅ wsgi_large_header_no_matches

Time: ✅ 28.612µs (SLO: <40.000µs 📉 -28.5%) vs baseline: -0.3%

Memory: ✅ 31.713MB (SLO: <33.500MB -5.3%) vs baseline: +0.3%


✅ wsgi_large_valid_headers_all

Time: ✅ 29.705µs (SLO: <40.000µs 📉 -25.7%) vs baseline: -0.4%

Memory: ✅ 31.772MB (SLO: <33.500MB -5.2%) vs baseline: +0.1%


✅ wsgi_medium_header_no_matches

Time: ✅ 10.058µs (SLO: <20.000µs 📉 -49.7%) vs baseline: -1.2%

Memory: ✅ 31.497MB (SLO: <33.500MB -6.0%) vs baseline: -0.4%


✅ wsgi_medium_valid_headers_all

Time: ✅ 11.569µs (SLO: <20.000µs 📉 -42.2%) vs baseline: +0.5%

Memory: ✅ 31.752MB (SLO: <33.500MB -5.2%) vs baseline: +0.4%


✅ wsgi_valid_headers_all

Time: ✅ 6.499µs (SLO: <10.000µs 📉 -35.0%) vs baseline: -0.4%

Memory: ✅ 31.733MB (SLO: <33.500MB -5.3%) vs baseline: +0.4%


✅ wsgi_valid_headers_basic

Time: ✅ 6.099µs (SLO: <10.000µs 📉 -39.0%) vs baseline: -0.6%

Memory: ✅ 31.516MB (SLO: <33.500MB -5.9%) vs baseline: -0.4%


✅ httppropagationinject - 16/16

✅ ids_only

Time: ✅ 22.015µs (SLO: <30.000µs 📉 -26.6%) vs baseline: -8.7%

Memory: ✅ 31.339MB (SLO: <33.500MB -6.4%) vs baseline: -0.7%


✅ with_all

Time: ✅ 33.964µs (SLO: <40.000µs 📉 -15.1%) vs baseline: -6.3%

Memory: ✅ 31.300MB (SLO: <33.500MB -6.6%) vs baseline: -0.6%


✅ with_dd_origin

Time: ✅ 28.497µs (SLO: <30.000µs -5.0%) vs baseline: -7.4%

Memory: ✅ 31.359MB (SLO: <33.500MB -6.4%) vs baseline: -0.9%


✅ with_priority_and_origin

Time: ✅ 27.949µs (SLO: <40.000µs 📉 -30.1%) vs baseline: -7.2%

Memory: ✅ 31.398MB (SLO: <33.500MB -6.3%) vs baseline: -0.5%


✅ with_sampling_priority

Time: ✅ 21.915µs (SLO: <30.000µs 📉 -27.0%) vs baseline: -8.4%

Memory: ✅ 31.398MB (SLO: <33.500MB -6.3%) vs baseline: -0.5%


✅ with_tags

Time: ✅ 30.594µs (SLO: <40.000µs 📉 -23.5%) vs baseline: -6.5%

Memory: ✅ 31.359MB (SLO: <33.500MB -6.4%) vs baseline: -0.8%


✅ with_tags_invalid

Time: ✅ 33.653µs (SLO: <40.000µs 📉 -15.9%) vs baseline: -5.8%

Memory: ✅ 31.300MB (SLO: <33.500MB -6.6%) vs baseline: -0.9%


✅ with_tags_max_size

Time: ✅ 30.907µs (SLO: <40.000µs 📉 -22.7%) vs baseline: -7.2%

Memory: ✅ 31.438MB (SLO: <33.500MB -6.2%) vs baseline: -0.6%


✅ iast_aspects - 40/40

✅ re_expand_aspect

Time: ✅ 33.211µs (SLO: <40.000µs 📉 -17.0%) vs baseline: +0.2%

Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: -1.0%


✅ re_expand_noaspect

Time: ✅ 28.694µs (SLO: <40.000µs 📉 -28.3%) vs baseline: +0.8%

Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: -0.6%


✅ re_findall_aspect

Time: ✅ 3.679µs (SLO: <10.000µs 📉 -63.2%) vs baseline: -1.2%

Memory: ✅ 37.100MB (SLO: <39.000MB -4.9%) vs baseline: -0.9%


✅ re_findall_noaspect

Time: ✅ 1.407µs (SLO: <10.000µs 📉 -85.9%) vs baseline: ~same

Memory: ✅ 37.316MB (SLO: <39.000MB -4.3%) vs baseline: -0.4%


✅ re_finditer_aspect

Time: ✅ 5.134µs (SLO: <10.000µs 📉 -48.7%) vs baseline: -2.2%

Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: -0.7%


✅ re_finditer_noaspect

Time: ✅ 1.410µs (SLO: <10.000µs 📉 -85.9%) vs baseline: +0.2%

Memory: ✅ 37.139MB (SLO: <39.000MB -4.8%) vs baseline: -0.7%


✅ re_fullmatch_aspect

Time: ✅ 3.379µs (SLO: <10.000µs 📉 -66.2%) vs baseline: -1.0%

Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: -0.6%


✅ re_fullmatch_noaspect

Time: ✅ 1.298µs (SLO: <10.000µs 📉 -87.0%) vs baseline: ~same

Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: -0.7%


✅ re_group_aspect

Time: ✅ 3.435µs (SLO: <10.000µs 📉 -65.7%) vs baseline: -1.7%

Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: -0.6%


✅ re_group_noaspect

Time: ✅ 1.598µs (SLO: <10.000µs 📉 -84.0%) vs baseline: -1.1%

Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: -0.7%


✅ re_groups_aspect

Time: ✅ 3.540µs (SLO: <10.000µs 📉 -64.6%) vs baseline: -2.1%

Memory: ✅ 37.159MB (SLO: <39.000MB -4.7%) vs baseline: -0.9%


✅ re_groups_noaspect

Time: ✅ 1.713µs (SLO: <10.000µs 📉 -82.9%) vs baseline: +1.1%

Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: -0.7%


✅ re_match_aspect

Time: ✅ 3.413µs (SLO: <10.000µs 📉 -65.9%) vs baseline: -0.2%

Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: -0.8%


✅ re_match_noaspect

Time: ✅ 1.294µs (SLO: <10.000µs 📉 -87.1%) vs baseline: ~same

Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: -0.9%


✅ re_search_aspect

Time: ✅ 3.279µs (SLO: <10.000µs 📉 -67.2%) vs baseline: -0.8%

Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: -0.6%


✅ re_search_noaspect

Time: ✅ 1.200µs (SLO: <10.000µs 📉 -88.0%) vs baseline: +0.4%

Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: -0.5%


✅ re_sub_aspect

Time: ✅ 4.699µs (SLO: <10.000µs 📉 -53.0%) vs baseline: -0.2%

Memory: ✅ 37.277MB (SLO: <39.000MB -4.4%) vs baseline: -0.6%


✅ re_sub_noaspect

Time: ✅ 1.530µs (SLO: <10.000µs 📉 -84.7%) vs baseline: -1.1%

Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: -0.5%


✅ re_subn_aspect

Time: ✅ 4.882µs (SLO: <10.000µs 📉 -51.2%) vs baseline: ~same

Memory: ✅ 37.139MB (SLO: <39.000MB -4.8%) vs baseline: -0.9%


✅ re_subn_noaspect

Time: ✅ 1.613µs (SLO: <10.000µs 📉 -83.9%) vs baseline: -1.1%

Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: -0.4%


✅ iastaspects - 118/118

✅ add_aspect

Time: ✅ 0.329µs (SLO: <10.000µs 📉 -96.7%) vs baseline: +0.1%

Memory: ✅ 37.120MB (SLO: <39.000MB -4.8%) vs baseline: -1.0%


✅ add_inplace_aspect

Time: ✅ 0.332µs (SLO: <10.000µs 📉 -96.7%) vs baseline: -1.0%

Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: -0.8%


✅ add_inplace_noaspect

Time: ✅ 0.317µs (SLO: <10.000µs 📉 -96.8%) vs baseline: -1.1%

Memory: ✅ 37.139MB (SLO: <39.000MB -4.8%) vs baseline: -0.8%


✅ add_noaspect

Time: ✅ 0.275µs (SLO: <10.000µs 📉 -97.3%) vs baseline: -1.0%

Memory: ✅ 37.277MB (SLO: <39.000MB -4.4%) vs baseline: -0.4%


✅ bytearray_aspect

Time: ✅ 1.830µs (SLO: <10.000µs 📉 -81.7%) vs baseline: -0.6%

Memory: ✅ 37.120MB (SLO: <39.000MB -4.8%) vs baseline: -1.0%


✅ bytearray_extend_aspect

Time: ✅ 1.421µs (SLO: <10.000µs 📉 -85.8%) vs baseline: +2.5%

Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: -0.7%


✅ bytearray_extend_noaspect

Time: ✅ 0.617µs (SLO: <10.000µs 📉 -93.8%) vs baseline: +1.3%

Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: -0.7%


✅ bytearray_noaspect

Time: ✅ 0.480µs (SLO: <10.000µs 📉 -95.2%) vs baseline: +0.4%

Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: -0.8%


✅ bytes_aspect

Time: ✅ 1.849µs (SLO: <10.000µs 📉 -81.5%) vs baseline: -0.8%

Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: -0.8%


✅ bytes_noaspect

Time: ✅ 0.495µs (SLO: <10.000µs 📉 -95.0%) vs baseline: -0.3%

Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: -0.9%


✅ bytesio_aspect

Time: ✅ 1.848µs (SLO: <10.000µs 📉 -81.5%) vs baseline: -2.0%

Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: -0.2%


✅ bytesio_noaspect

Time: ✅ 0.492µs (SLO: <10.000µs 📉 -95.1%) vs baseline: -1.9%

Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: -0.6%


✅ capitalize_aspect

Time: ✅ 0.735µs (SLO: <10.000µs 📉 -92.6%) vs baseline: -0.3%

Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: -0.5%


✅ capitalize_noaspect

Time: ✅ 0.433µs (SLO: <10.000µs 📉 -95.7%) vs baseline: +0.2%

Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: -0.4%


✅ casefold_aspect

Time: ✅ 0.744µs (SLO: <10.000µs 📉 -92.6%) vs baseline: +1.8%

Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: -0.8%


✅ casefold_noaspect

Time: ✅ 0.372µs (SLO: <10.000µs 📉 -96.3%) vs baseline: +0.5%

Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: -0.7%


✅ decode_aspect

Time: ✅ 0.729µs (SLO: <10.000µs 📉 -92.7%) vs baseline: +0.2%

Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: -0.6%


✅ decode_noaspect

Time: ✅ 0.417µs (SLO: <10.000µs 📉 -95.8%) vs baseline: -0.8%

Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: -0.6%


✅ encode_aspect

Time: ✅ 0.715µs (SLO: <10.000µs 📉 -92.9%) vs baseline: -0.4%

Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: -0.6%


✅ encode_noaspect

Time: ✅ 0.405µs (SLO: <10.000µs 📉 -96.0%) vs baseline: -0.6%

Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: -0.8%


✅ format_aspect

Time: ✅ 3.521µs (SLO: <10.000µs 📉 -64.8%) vs baseline: +0.5%

Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: -1.1%


✅ format_map_aspect

Time: ✅ 3.320µs (SLO: <10.000µs 📉 -66.8%) vs baseline: +2.0%

Memory: ✅ 37.316MB (SLO: <39.000MB -4.3%) vs baseline: -0.6%


✅ format_map_noaspect

Time: ✅ 0.775µs (SLO: <10.000µs 📉 -92.2%) vs baseline: +0.7%

Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: -0.8%


✅ format_noaspect

Time: ✅ 0.595µs (SLO: <10.000µs 📉 -94.0%) vs baseline: ~same

Memory: ✅ 37.159MB (SLO: <39.000MB -4.7%) vs baseline: -1.0%


✅ index_aspect

Time: ✅ 0.345µs (SLO: <10.000µs 📉 -96.6%) vs baseline: +1.1%

Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: -0.9%


✅ index_noaspect

Time: ✅ 0.276µs (SLO: <10.000µs 📉 -97.2%) vs baseline: +1.2%

Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: -0.7%


✅ join_aspect

Time: ✅ 1.226µs (SLO: <10.000µs 📉 -87.7%) vs baseline: +0.9%

Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: -0.7%


✅ join_noaspect

Time: ✅ 0.491µs (SLO: <10.000µs 📉 -95.1%) vs baseline: +0.7%

Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: -0.9%


✅ ljust_aspect

Time: ✅ 10.890µs (SLO: <20.000µs 📉 -45.5%) vs baseline: +7.0%

Memory: ✅ 37.356MB (SLO: <39.000MB -4.2%) vs baseline: -0.5%


✅ ljust_noaspect

Time: ✅ 0.404µs (SLO: <10.000µs 📉 -96.0%) vs baseline: -0.2%

Memory: ✅ 37.139MB (SLO: <39.000MB -4.8%) vs baseline: -0.8%


✅ lower_aspect

Time: ✅ 2.344µs (SLO: <10.000µs 📉 -76.6%) vs baseline: +4.4%

Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: -0.7%


✅ lower_noaspect

Time: ✅ 0.370µs (SLO: <10.000µs 📉 -96.3%) vs baseline: +0.4%

Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: -0.8%


✅ lstrip_aspect

Time: ✅ 10.575µs (SLO: <20.000µs 📉 -47.1%) vs baseline: +3.1%

Memory: ✅ 37.356MB (SLO: <39.000MB -4.2%) vs baseline: -0.8%


✅ lstrip_noaspect

Time: ✅ 0.377µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -1.5%

Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: -0.8%


✅ modulo_aspect

Time: ✅ 0.600µs (SLO: <10.000µs 📉 -94.0%) vs baseline: +3.3%

Memory: ✅ 37.316MB (SLO: <39.000MB -4.3%) vs baseline: -0.4%


✅ modulo_aspect_for_bytearray_bytearray

Time: ✅ 1.277µs (SLO: <10.000µs 📉 -87.2%) vs baseline: +1.6%

Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: -0.8%


✅ modulo_aspect_for_bytes

Time: ✅ 0.752µs (SLO: <10.000µs 📉 -92.5%) vs baseline: -0.3%

Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: -0.6%


✅ modulo_aspect_for_bytes_bytearray

Time: ✅ 0.980µs (SLO: <10.000µs 📉 -90.2%) vs baseline: -1.7%

Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: -0.6%


✅ modulo_noaspect

Time: ✅ 0.631µs (SLO: <10.000µs 📉 -93.7%) vs baseline: +0.7%

Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: -0.6%


✅ replace_aspect

Time: ✅ 4.733µs (SLO: <10.000µs 📉 -52.7%) vs baseline: +0.2%

Memory: ✅ 37.316MB (SLO: <39.000MB -4.3%) vs baseline: -0.6%


✅ replace_noaspect

Time: ✅ 0.463µs (SLO: <10.000µs 📉 -95.4%) vs baseline: -0.1%

Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: -0.8%


✅ repr_aspect

Time: ✅ 0.908µs (SLO: <10.000µs 📉 -90.9%) vs baseline: +0.7%

Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: -0.6%


✅ repr_noaspect

Time: ✅ 0.410µs (SLO: <10.000µs 📉 -95.9%) vs baseline: -2.3%

Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: -0.8%


✅ rstrip_aspect

Time: ✅ 10.868µs (SLO: <20.000µs 📉 -45.7%) vs baseline: +6.9%

Memory: ✅ 37.316MB (SLO: <39.000MB -4.3%) vs baseline: -0.7%


✅ rstrip_noaspect

Time: ✅ 0.378µs (SLO: <10.000µs 📉 -96.2%) vs baseline: +0.5%

Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: -0.4%


✅ slice_aspect

Time: ✅ 0.481µs (SLO: <10.000µs 📉 -95.2%) vs baseline: ~same

Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: -0.8%


✅ slice_noaspect

Time: ✅ 0.449µs (SLO: <10.000µs 📉 -95.5%) vs baseline: +1.6%

Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: -0.6%


✅ stringio_aspect

Time: ✅ 2.173µs (SLO: <10.000µs 📉 -78.3%) vs baseline: -1.7%

Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: -0.7%


✅ stringio_noaspect

Time: ✅ 0.715µs (SLO: <10.000µs 📉 -92.8%) vs baseline: -0.5%

Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: -0.8%


✅ strip_aspect

Time: ✅ 10.460µs (SLO: <20.000µs 📉 -47.7%) vs baseline: +1.5%

Memory: ✅ 37.356MB (SLO: <39.000MB -4.2%) vs baseline: -0.5%


✅ strip_noaspect

Time: ✅ 0.383µs (SLO: <10.000µs 📉 -96.2%) vs baseline: -0.3%

Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: -1.0%


✅ swapcase_aspect

Time: ✅ 2.574µs (SLO: <10.000µs 📉 -74.3%) vs baseline: +5.1%

Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: -0.7%


✅ swapcase_noaspect

Time: ✅ 0.531µs (SLO: <10.000µs 📉 -94.7%) vs baseline: -0.4%

Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: -1.0%


✅ title_aspect

Time: ✅ 2.545µs (SLO: <10.000µs 📉 -74.6%) vs baseline: +5.5%

Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: -0.3%


✅ title_noaspect

Time: ✅ 0.497µs (SLO: <10.000µs 📉 -95.0%) vs baseline: -0.8%

Memory: ✅ 37.159MB (SLO: <39.000MB -4.7%) vs baseline: -0.9%


✅ translate_aspect

Time: ✅ 3.462µs (SLO: <10.000µs 📉 -65.4%) vs baseline: +3.5%

Memory: ✅ 37.257MB (SLO: <39.000MB -4.5%) vs baseline: -0.4%


✅ translate_noaspect

Time: ✅ 1.037µs (SLO: <10.000µs 📉 -89.6%) vs baseline: -0.7%

Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: -0.7%


✅ upper_aspect

Time: ✅ 2.450µs (SLO: <10.000µs 📉 -75.5%) vs baseline: +9.7%

Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: -0.7%


✅ upper_noaspect

Time: ✅ 0.373µs (SLO: <10.000µs 📉 -96.3%) vs baseline: +0.5%

Memory: ✅ 37.159MB (SLO: <39.000MB -4.7%) vs baseline: -0.9%


✅ iastaspectsospath - 24/24

✅ ospathbasename_aspect

Time: ✅ 4.188µs (SLO: <10.000µs 📉 -58.1%) vs baseline: -1.3%

Memory: ✅ 37.139MB (SLO: <39.000MB -4.8%) vs baseline: -0.9%


✅ ospathbasename_noaspect

Time: ✅ 1.075µs (SLO: <10.000µs 📉 -89.3%) vs baseline: -0.6%

Memory: ✅ 37.139MB (SLO: <39.000MB -4.8%) vs baseline: -0.7%


✅ ospathjoin_aspect

Time: ✅ 6.138µs (SLO: <10.000µs 📉 -38.6%) vs baseline: -1.4%

Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: -0.5%


✅ ospathjoin_noaspect

Time: ✅ 2.282µs (SLO: <10.000µs 📉 -77.2%) vs baseline: -0.4%

Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: -0.5%


✅ ospathnormcase_aspect

Time: ✅ 3.449µs (SLO: <10.000µs 📉 -65.5%) vs baseline: -2.2%

Memory: ✅ 37.159MB (SLO: <39.000MB -4.7%) vs baseline: -0.8%


✅ ospathnormcase_noaspect

Time: ✅ 0.569µs (SLO: <10.000µs 📉 -94.3%) vs baseline: -0.5%

Memory: ✅ 37.198MB (SLO: <39.000MB -4.6%) vs baseline: -0.8%


✅ ospathsplit_aspect

Time: ✅ 4.825µs (SLO: <10.000µs 📉 -51.7%) vs baseline: -0.7%

Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: -0.7%


✅ ospathsplit_noaspect

Time: ✅ 1.594µs (SLO: <10.000µs 📉 -84.1%) vs baseline: ~same

Memory: ✅ 37.277MB (SLO: <39.000MB -4.4%) vs baseline: -0.5%


✅ ospathsplitdrive_aspect

Time: ✅ 3.785µs (SLO: <10.000µs 📉 -62.1%) vs baseline: +2.2%

Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: -0.7%


✅ ospathsplitdrive_noaspect

Time: ✅ 0.699µs (SLO: <10.000µs 📉 -93.0%) vs baseline: -0.3%

Memory: ✅ 37.218MB (SLO: <39.000MB -4.6%) vs baseline: -0.8%


✅ ospathsplitext_aspect

Time: ✅ 4.622µs (SLO: <10.000µs 📉 -53.8%) vs baseline: +0.8%

Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: -0.7%


✅ ospathsplitext_noaspect

Time: ✅ 1.381µs (SLO: <10.000µs 📉 -86.2%) vs baseline: ~same

Memory: ✅ 37.277MB (SLO: <39.000MB -4.4%) vs baseline: -0.4%


✅ iastaspectssplit - 12/12

✅ rsplit_aspect

Time: ✅ 1.545µs (SLO: <10.000µs 📉 -84.6%) vs baseline: +2.2%

Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: -0.8%


✅ rsplit_noaspect

Time: ✅ 0.584µs (SLO: <10.000µs 📉 -94.2%) vs baseline: -0.5%

Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: -0.9%


✅ split_aspect

Time: ✅ 1.507µs (SLO: <10.000µs 📉 -84.9%) vs baseline: +4.0%

Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: -0.6%


✅ split_noaspect

Time: ✅ 0.575µs (SLO: <10.000µs 📉 -94.3%) vs baseline: +0.9%

Memory: ✅ 37.297MB (SLO: <39.000MB -4.4%) vs baseline: -0.4%


✅ splitlines_aspect

Time: ✅ 1.448µs (SLO: <10.000µs 📉 -85.5%) vs baseline: -2.0%

Memory: ✅ 37.179MB (SLO: <39.000MB -4.7%) vs baseline: -0.9%


✅ splitlines_noaspect

Time: ✅ 0.586µs (SLO: <10.000µs 📉 -94.1%) vs baseline: ~same

Memory: ✅ 37.120MB (SLO: <39.000MB -4.8%) vs baseline: -1.2%


✅ iastpropagation - 8/8

✅ no-propagation

Time: ✅ 49.407µs (SLO: <60.000µs 📉 -17.7%) vs baseline: ~same

Memory: ✅ 36.766MB (SLO: <39.000MB -5.7%) vs baseline: -0.9%


✅ propagation_enabled

Time: ✅ 147.006µs (SLO: <160.000µs -8.1%) vs baseline: +0.7%

Memory: ✅ 36.844MB (SLO: <39.000MB -5.5%) vs baseline: -1.0%


✅ propagation_enabled_100

Time: ✅ 1.586ms (SLO: <1.800ms 📉 -11.9%) vs baseline: +0.8%

Memory: ✅ 36.825MB (SLO: <39.000MB -5.6%) vs baseline: -0.8%


✅ propagation_enabled_1000

Time: ✅ 29.128ms (SLO: <30.550ms -4.7%) vs baseline: +0.8%

Memory: ✅ 37.238MB (SLO: <39.000MB -4.5%) vs baseline: +0.2%


✅ otelsdkspan - 24/24

✅ add-event

Time: ✅ 40.395ms (SLO: <42.000ms -3.8%) vs baseline: ~same

Memory: ✅ 34.131MB (SLO: <39.000MB 📉 -12.5%) vs baseline: +4.6%


✅ add-link

Time: ✅ 36.421ms (SLO: <38.550ms -5.5%) vs baseline: +1.1%

Memory: ✅ 34.111MB (SLO: <39.000MB 📉 -12.5%) vs baseline: +4.6%


✅ add-metrics

Time: ✅ 219.313ms (SLO: <232.000ms -5.5%) vs baseline: ~same

Memory: ✅ 34.131MB (SLO: <39.000MB 📉 -12.5%) vs baseline: +4.6%


✅ add-tags

Time: ✅ 213.918ms (SLO: <221.600ms -3.5%) vs baseline: +1.8%

Memory: ✅ 34.151MB (SLO: <39.000MB 📉 -12.4%) vs baseline: +4.7%


✅ get-context

Time: ✅ 29.114ms (SLO: <31.300ms -7.0%) vs baseline: +0.4%

Memory: ✅ 34.170MB (SLO: <39.000MB 📉 -12.4%) vs baseline: +4.7%


✅ is-recording

Time: ✅ 29.392ms (SLO: <31.000ms -5.2%) vs baseline: +1.6%

Memory: ✅ 34.111MB (SLO: <39.000MB 📉 -12.5%) vs baseline: +4.6%


✅ record-exception

Time: ✅ 63.193ms (SLO: <65.850ms -4.0%) vs baseline: +0.3%

Memory: ✅ 34.131MB (SLO: <39.000MB 📉 -12.5%) vs baseline: +4.8%


✅ set-status

Time: ✅ 32.686ms (SLO: <34.150ms -4.3%) vs baseline: +3.2%

Memory: ✅ 34.170MB (SLO: <39.000MB 📉 -12.4%) vs baseline: +4.7%


✅ start

Time: ✅ 28.876ms (SLO: <30.150ms -4.2%) vs baseline: +1.0%

Memory: ✅ 34.131MB (SLO: <39.000MB 📉 -12.5%) vs baseline: +4.7%


✅ start-finish

Time: ✅ 34.218ms (SLO: <35.350ms -3.2%) vs baseline: +1.4%

Memory: ✅ 34.111MB (SLO: <39.000MB 📉 -12.5%) vs baseline: +4.7%


✅ start-finish-telemetry

Time: ✅ 34.119ms (SLO: <35.450ms -3.8%) vs baseline: +0.8%

Memory: ✅ 34.111MB (SLO: <39.000MB 📉 -12.5%) vs baseline: +4.6%


✅ update-name

Time: ✅ 31.360ms (SLO: <33.400ms -6.1%) vs baseline: +1.7%

Memory: ✅ 34.170MB (SLO: <39.000MB 📉 -12.4%) vs baseline: +4.8%


✅ packagespackageforrootmodulemapping - 4/4

✅ cache_off

Time: ✅ 338.842ms (SLO: <354.300ms -4.4%) vs baseline: -0.9%

Memory: ✅ 37.474MB (SLO: <40.000MB -6.3%) vs baseline: +4.3%


✅ cache_on

Time: ✅ 0.383µs (SLO: <10.000µs 📉 -96.2%) vs baseline: +0.3%

Memory: ✅ 36.395MB (SLO: <39.000MB -6.7%) vs baseline: +3.5%


✅ packagesupdateimporteddependencies - 24/24

✅ import_many

Time: ✅ 155.557µs (SLO: <170.000µs -8.5%) vs baseline: +0.4%

Memory: ✅ 35.887MB (SLO: <38.500MB -6.8%) vs baseline: +3.6%


✅ import_many_cached

Time: ✅ 121.099µs (SLO: <130.000µs -6.8%) vs baseline: -0.3%

Memory: ✅ 36.484MB (SLO: <38.500MB -5.2%) vs baseline: +5.8%


✅ import_many_stdlib

Time: ✅ 1.625ms (SLO: <1.750ms -7.1%) vs baseline: ~same

Memory: ✅ 36.610MB (SLO: <38.500MB -4.9%) vs baseline: +4.4%


✅ import_many_stdlib_cached

Time: ✅ 0.978ms (SLO: <1.100ms 📉 -11.1%) vs baseline: +0.6%

Memory: ✅ 36.742MB (SLO: <38.500MB -4.6%) vs baseline: +6.0%


✅ import_many_unknown

Time: ✅ 831.294µs (SLO: <890.000µs -6.6%) vs baseline: +0.6%

Memory: ✅ 36.660MB (SLO: <38.500MB -4.8%) vs baseline: +5.6%


✅ import_many_unknown_cached

Time: ✅ 791.913µs (SLO: <870.000µs -9.0%) vs baseline: +0.3%

Memory: ✅ 36.599MB (SLO: <38.500MB -4.9%) vs baseline: +5.4%


✅ import_one

Time: ✅ 19.740µs (SLO: <30.000µs 📉 -34.2%) vs baseline: -0.1%

Memory: ✅ 36.418MB (SLO: <39.000MB -6.6%) vs baseline: +4.4%


✅ import_one_cache

Time: ✅ 6.333µs (SLO: <10.000µs 📉 -36.7%) vs baseline: +1.0%

Memory: ✅ 36.692MB (SLO: <38.500MB -4.7%) vs baseline: +6.4%


✅ import_one_stdlib

Time: ✅ 18.696µs (SLO: <20.000µs -6.5%) vs baseline: -0.4%

Memory: ✅ 36.761MB (SLO: <38.500MB -4.5%) vs baseline: +6.0%


✅ import_one_stdlib_cache

Time: ✅ 6.258µs (SLO: <10.000µs 📉 -37.4%) vs baseline: -0.2%

Memory: ✅ 36.771MB (SLO: <38.500MB -4.5%) vs baseline: +6.3%


✅ import_one_unknown

Time: ✅ 45.179µs (SLO: <50.000µs -9.6%) vs baseline: -1.6%

Memory: ✅ 36.440MB (SLO: <38.500MB -5.4%) vs baseline: +5.3%


✅ import_one_unknown_cache

Time: ✅ 6.330µs (SLO: <10.000µs 📉 -36.7%) vs baseline: +0.5%

Memory: ✅ 36.829MB (SLO: <38.500MB -4.3%) vs baseline: +6.6%


✅ ratelimiter - 12/12

✅ defaults

Time: ✅ 2.351µs (SLO: <10.000µs 📉 -76.5%) vs baseline: ~same

Memory: ✅ 30.946MB (SLO: <34.000MB -9.0%) vs baseline: -1.0%


✅ high_rate_limit

Time: ✅ 2.436µs (SLO: <10.000µs 📉 -75.6%) vs baseline: +0.4%

Memory: ✅ 30.946MB (SLO: <34.000MB -9.0%) vs baseline: -0.8%


✅ long_window

Time: ✅ 2.363µs (SLO: <10.000µs 📉 -76.4%) vs baseline: +1.1%

Memory: ✅ 31.044MB (SLO: <34.000MB -8.7%) vs baseline: -0.5%


✅ low_rate_limit

Time: ✅ 2.377µs (SLO: <10.000µs 📉 -76.2%) vs baseline: +0.8%

Memory: ✅ 30.887MB (SLO: <34.000MB -9.2%) vs baseline: -1.0%


✅ no_rate_limit

Time: ✅ 0.834µs (SLO: <10.000µs 📉 -91.7%) vs baseline: -0.6%

Memory: ✅ 30.926MB (SLO: <34.000MB -9.0%) vs baseline: -1.1%


✅ short_window

Time: ✅ 2.492µs (SLO: <10.000µs 📉 -75.1%) vs baseline: +0.8%

Memory: ✅ 30.867MB (SLO: <34.000MB -9.2%) vs baseline: -0.9%


✅ recursivecomputation - 8/8

✅ deep

Time: ✅ 309.398ms (SLO: <320.950ms -3.6%) vs baseline: ~same

Memory: ✅ 32.421MB (SLO: <34.500MB -6.0%) vs baseline: +0.6%


✅ deep-profiled

Time: ✅ 327.279ms (SLO: <359.150ms -8.9%) vs baseline: -0.1%

Memory: ✅ 35.566MB (SLO: <39.000MB -8.8%) vs baseline: +1.8%


✅ medium

Time: ✅ 7.066ms (SLO: <7.400ms -4.5%) vs baseline: +0.2%

Memory: ✅ 31.575MB (SLO: <34.000MB -7.1%) vs baseline: +0.2%


✅ shallow

Time: ✅ 0.962ms (SLO: <1.050ms -8.3%) vs baseline: +0.7%

Memory: ✅ 31.300MB (SLO: <34.000MB -7.9%) vs baseline: -0.6%


✅ samplingrules - 8/8

✅ average_match

Time: ✅ 273.055µs (SLO: <290.000µs -5.8%) vs baseline: -0.3%

Memory: ✅ 31.359MB (SLO: <34.000MB -7.8%) vs baseline: +0.8%


✅ high_match

Time: ✅ 447.125µs (SLO: <480.000µs -6.8%) vs baseline: +1.1%

Memory: ✅ 31.359MB (SLO: <34.000MB -7.8%) vs baseline: +0.7%


✅ low_match

Time: ✅ 111.112µs (SLO: <120.000µs -7.4%) vs baseline: +0.8%

Memory: ✅ 434.033MB (SLO: <450.000MB -3.5%) vs baseline: +4.5%


✅ very_low_match

Time: ✅ 7.693ms (SLO: <8.500ms -9.5%) vs baseline: +0.6%

Memory: ✅ 57.362MB (SLO: <60.000MB -4.4%) vs baseline: +2.6%


✅ sethttpmeta - 32/32

✅ all-disabled

Time: ✅ 12.425µs (SLO: <20.000µs 📉 -37.9%) vs baseline: +0.7%

Memory: ✅ 32.204MB (SLO: <34.000MB -5.3%) vs baseline: +1.0%


✅ all-enabled

Time: ✅ 42.409µs (SLO: <50.000µs 📉 -15.2%) vs baseline: ~same

Memory: ✅ 32.204MB (SLO: <34.000MB -5.3%) vs baseline: +0.7%


✅ collectipvariant_exists

Time: ✅ 43.134µs (SLO: <50.000µs 📉 -13.7%) vs baseline: +0.6%

Memory: ✅ 32.224MB (SLO: <34.000MB -5.2%) vs baseline: +0.9%


✅ no-collectipvariant

Time: ✅ 42.531µs (SLO: <50.000µs 📉 -14.9%) vs baseline: +0.4%

Memory: ✅ 32.224MB (SLO: <34.000MB -5.2%) vs baseline: +1.0%


✅ no-useragentvariant

Time: ✅ 41.253µs (SLO: <50.000µs 📉 -17.5%) vs baseline: -0.2%

Memory: ✅ 32.204MB (SLO: <34.000MB -5.3%) vs baseline: +1.0%


✅ obfuscation-no-query

Time: ✅ 42.972µs (SLO: <50.000µs 📉 -14.1%) vs baseline: +0.3%

Memory: ✅ 32.224MB (SLO: <34.000MB -5.2%) vs baseline: +0.9%


✅ obfuscation-regular-case-explicit-query

Time: ✅ 79.170µs (SLO: <90.000µs 📉 -12.0%) vs baseline: ~same

Memory: ✅ 32.244MB (SLO: <34.000MB -5.2%) vs baseline: +1.0%


✅ obfuscation-regular-case-implicit-query

Time: ✅ 79.798µs (SLO: <90.000µs 📉 -11.3%) vs baseline: ~same

Memory: ✅ 32.244MB (SLO: <34.000MB -5.2%) vs baseline: +0.9%


✅ obfuscation-send-querystring-disabled

Time: ✅ 158.010µs (SLO: <170.000µs -7.1%) vs baseline: ~same

Memory: ✅ 32.244MB (SLO: <34.500MB -6.5%) vs baseline: +1.0%


✅ obfuscation-worst-case-explicit-query

Time: ✅ 152.326µs (SLO: <160.000µs -4.8%) vs baseline: -0.2%

Memory: ✅ 32.185MB (SLO: <34.500MB -6.7%) vs baseline: +0.9%


✅ obfuscation-worst-case-implicit-query

Time: ✅ 158.437µs (SLO: <170.000µs -6.8%) vs baseline: ~same

Memory: ✅ 32.204MB (SLO: <34.500MB -6.7%) vs baseline: +0.7%


✅ useragentvariant_exists_1

Time: ✅ 41.928µs (SLO: <50.000µs 📉 -16.1%) vs baseline: +0.2%

Memory: ✅ 32.224MB (SLO: <34.000MB -5.2%) vs baseline: +1.0%


✅ useragentvariant_exists_2

Time: ✅ 42.982µs (SLO: <50.000µs 📉 -14.0%) vs baseline: ~same

Memory: ✅ 32.244MB (SLO: <34.000MB -5.2%) vs baseline: +1.0%


✅ useragentvariant_exists_3

Time: ✅ 42.424µs (SLO: <50.000µs 📉 -15.2%) vs baseline: +0.2%

Memory: ✅ 32.224MB (SLO: <34.000MB -5.2%) vs baseline: +1.0%


✅ useragentvariant_not_exists_1

Time: ✅ 42.063µs (SLO: <50.000µs 📉 -15.9%) vs baseline: +0.9%

Memory: ✅ 32.204MB (SLO: <34.000MB -5.3%) vs baseline: +0.9%


✅ useragentvariant_not_exists_2

Time: ✅ 41.900µs (SLO: <50.000µs 📉 -16.2%) vs baseline: +0.2%

Memory: ✅ 32.224MB (SLO: <34.000MB -5.2%) vs baseline: +0.8%


✅ span - 26/26

✅ add-event

Time: ✅ 24.075ms (SLO: <26.200ms -8.1%) vs baseline: ~same

Memory: ✅ 50.887MB (SLO: <53.000MB -4.0%) vs baseline: +2.0%


✅ add-metrics

Time: ✅ 91.353ms (SLO: <98.350ms -7.1%) vs baseline: -0.2%

Memory: ✅ 614.337MB (SLO: <961.000MB 📉 -36.1%) vs baseline: +5.0%


✅ add-tags

Time: ✅ 150.094ms (SLO: <168.550ms 📉 -10.9%) vs baseline: -0.3%

Memory: ✅ 615.057MB (SLO: <962.500MB 📉 -36.1%) vs baseline: +5.1%


✅ get-context

Time: ✅ 22.518ms (SLO: <23.700ms -5.0%) vs baseline: ~same

Memory: ✅ 49.679MB (SLO: <53.000MB -6.3%) vs baseline: +2.0%


✅ is-recording

Time: ✅ 22.382ms (SLO: <23.900ms -6.4%) vs baseline: -0.5%

Memory: ✅ 49.656MB (SLO: <53.000MB -6.3%) vs baseline: +1.9%


✅ record-exception

Time: ✅ 42.568ms (SLO: <44.500ms -4.3%) vs baseline: +0.4%

Memory: ✅ 42.616MB (SLO: <53.000MB 📉 -19.6%) vs baseline: +1.1%


✅ set-status

Time: ✅ 24.212ms (SLO: <26.000ms -6.9%) vs baseline: -0.4%

Memory: ✅ 49.619MB (SLO: <53.000MB -6.4%) vs baseline: +1.9%


✅ start

Time: ✅ 22.200ms (SLO: <23.500ms -5.5%) vs baseline: -0.5%

Memory: ✅ 49.647MB (SLO: <53.000MB -6.3%) vs baseline: +1.9%


✅ start-finish

Time: ✅ 54.378ms (SLO: <55.500ms -2.0%) vs baseline: +0.2%

Memory: ✅ 31.418MB (SLO: <34.000MB -7.6%) vs baseline: -0.3%


✅ start-finish-telemetry

Time: ✅ 55.817ms (SLO: <58.300ms -4.3%) vs baseline: +0.4%

Memory: ✅ 31.339MB (SLO: <34.000MB -7.8%) vs baseline: -0.5%


✅ start-finish-traceid128

Time: ✅ 57.625ms (SLO: <60.050ms -4.0%) vs baseline: +0.2%

Memory: ✅ 31.398MB (SLO: <34.000MB -7.7%) vs baseline: -0.3%


✅ start-traceid128

Time: ✅ 22.655ms (SLO: <24.600ms -7.9%) vs baseline: ~same

Memory: ✅ 49.723MB (SLO: <53.000MB -6.2%) vs baseline: +1.9%


✅ update-name

Time: ✅ 22.963ms (SLO: <24.100ms -4.7%) vs baseline: +0.2%

Memory: ✅ 50.244MB (SLO: <53.000MB -5.2%) vs baseline: +1.8%


✅ tracer - 6/6

✅ large

Time: ✅ 29.943ms (SLO: <32.950ms -9.1%) vs baseline: -0.7%

Memory: ✅ 32.578MB (SLO: <34.500MB -5.6%) vs baseline: +1.1%


✅ medium

Time: ✅ 2.963ms (SLO: <3.200ms -7.4%) vs baseline: +0.4%

Memory: ✅ 31.379MB (SLO: <34.000MB -7.7%) vs baseline: +0.8%


✅ small

Time: ✅ 339.515µs (SLO: <370.000µs -8.2%) vs baseline: +0.8%

Memory: ✅ 31.418MB (SLO: <34.000MB -7.6%) vs baseline: +0.8%

ℹ️ Scenarios Missing SLO Configuration (12 scenarios)

The following scenarios exist in candidate data but have no SLO thresholds configured:

  • coreapiscenario-context_with_data_listeners_and_all_listeners
  • coreapiscenario-core_dispatch_listeners
  • coreapiscenario-core_dispatch_listeners_and_all_listeners
  • coreapiscenario-core_dispatch_no_listeners
  • coreapiscenario-core_dispatch_only_all_listeners
  • coreapiscenario-core_dispatch_with_results_listeners
  • coreapiscenario-core_dispatch_with_results_listeners_and_all_listeners
  • coreapiscenario-core_dispatch_with_results_no_listeners
  • coreapiscenario-core_dispatch_with_results_only_all_listeners
  • errortrackingflasksqli-baseline
  • flasksimple-baseline
  • flasksqli-baseline

@juanjux juanjux closed this Jul 16, 2026
auto-merge was automatically disabled July 16, 2026 07:35

Pull request was closed

@juanjux juanjux reopened this Jul 16, 2026
@juanjux juanjux changed the title fix(ci): fix the 3.12 branch fix(ci): fix the 4.12 branch Jul 16, 2026
@juanjux juanjux closed this Jul 16, 2026
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