feat(python): add cross-cutting gate scenarios for 3.14/3.15 (PROF-15511) - #172
Draft
vlad-scherbich wants to merge 4 commits into
Draft
feat(python): add cross-cutting gate scenarios for 3.14/3.15 (PROF-15511)#172vlad-scherbich wants to merge 4 commits into
vlad-scherbich wants to merge 4 commits into
Conversation
This was referenced Jul 26, 2026
vlad-scherbich
force-pushed
the
vlad/python-stack-advanced-gate
branch
from
July 27, 2026 19:20
ac2451e to
7c1ccac
Compare
vlad-scherbich
force-pushed
the
vlad/python-cross-cutting-gate
branch
from
July 27, 2026 19:20
b42f8fa to
b771de9
Compare
vlad-scherbich
force-pushed
the
vlad/python-stack-advanced-gate
branch
from
July 27, 2026 19:33
7c1ccac to
eccfe2a
Compare
vlad-scherbich
force-pushed
the
vlad/python-cross-cutting-gate
branch
from
July 27, 2026 19:33
b771de9 to
d05980c
Compare
vlad-scherbich
force-pushed
the
vlad/python-stack-advanced-gate
branch
from
July 27, 2026 19:38
eccfe2a to
2bd7cb6
Compare
vlad-scherbich
force-pushed
the
vlad/python-cross-cutting-gate
branch
from
July 27, 2026 19:38
d05980c to
67d612c
Compare
vlad-scherbich
force-pushed
the
vlad/python-stack-advanced-gate
branch
from
July 27, 2026 21:41
2bd7cb6 to
ecce3c0
Compare
vlad-scherbich
force-pushed
the
vlad/python-cross-cutting-gate
branch
from
July 27, 2026 21:41
67d612c to
008aa5c
Compare
vlad-scherbich
force-pushed
the
vlad/python-stack-advanced-gate
branch
from
July 27, 2026 21:45
ecce3c0 to
e6cda80
Compare
vlad-scherbich
force-pushed
the
vlad/python-cross-cutting-gate
branch
from
July 27, 2026 21:45
008aa5c to
2cadb76
Compare
vlad-scherbich
force-pushed
the
vlad/python-stack-advanced-gate
branch
from
July 27, 2026 22:01
e6cda80 to
487a0c5
Compare
vlad-scherbich
force-pushed
the
vlad/python-cross-cutting-gate
branch
from
July 27, 2026 22:01
2cadb76 to
7294ab9
Compare
vlad-scherbich
force-pushed
the
vlad/python-stack-advanced-gate
branch
from
July 27, 2026 22:05
487a0c5 to
8278b7d
Compare
vlad-scherbich
force-pushed
the
vlad/python-cross-cutting-gate
branch
2 times, most recently
from
July 27, 2026 22:06
37aaec6 to
f4a4474
Compare
vlad-scherbich
force-pushed
the
vlad/python-stack-advanced-gate
branch
from
July 27, 2026 22:29
8278b7d to
0eef449
Compare
vlad-scherbich
force-pushed
the
vlad/python-cross-cutting-gate
branch
from
July 27, 2026 22:29
f4a4474 to
f7aabb4
Compare
vlad-scherbich
force-pushed
the
vlad/python-stack-advanced-gate
branch
from
July 28, 2026 02:02
0eef449 to
4762625
Compare
vlad-scherbich
force-pushed
the
vlad/python-cross-cutting-gate
branch
from
July 28, 2026 02:02
f7aabb4 to
e4971af
Compare
Add paired gil_contention, uvloop, and gevent scenarios for integration shapes on the migration gate path. Gate grows from 20 to 26 scenarios.
Python 3.14 uses Target.method stack frames and numeric thread IDs in alloc profiles; gevent Hub frames are Hub.run;loop.run. Simplify gevent assertions to percent-based checks, fix ruff format on safe_point_bias README, and widen node_heap space margin for CI variance.
Absolute object counts are unstable across Node CI runners; switch to percent-based checks with wider margins while keeping space assertions.
Drop node_heap objects checks (dominated by startup noise on CI); keep space ratio assertions. Widen node_code_hotspots busyLoop margin to 3%.
vlad-scherbich
force-pushed
the
vlad/python-stack-advanced-gate
branch
from
July 28, 2026 02:38
4762625 to
70fe079
Compare
vlad-scherbich
force-pushed
the
vlad/python-cross-cutting-gate
branch
from
July 28, 2026 02:38
e4971af to
44ae38e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Prev: #171
Motivation
Final batch of the default migration gate — integration-shaped workloads that stress the profiler under GIL contention, alternative event loops (uvloop), and greenlet-based concurrency (gevent). Completes the 22-scenario default downstream regexp.
Summary
Adds 6 scenario directories (3 families × 2 versions):
python_gil_contentionpython_uvlooppython_geventAll paired 3.14/3.15; 3.15 dirs wheel-only.
Gate grows 16 → 22 scenarios. Feature-specific pairs (
mem_domain,live_heap) remain in parallel PRs #167 / #168.After this stack lands: wire dd-trace-py downstream job to pass the gate regexp (not bare
python.*), then tighten to blocking once CI is stable.Test plan
go test -run TestSchemaValidationruff checkon scenario sourcesDDTRACE_INSTALL_URL