Skip to content

feat(python): add core 3.14/3.15 gate scenarios (PROF-15511) - #166

Draft
vlad-scherbich wants to merge 6 commits into
vlad/gate-infrafrom
vlad/gate-scenarios-core
Draft

feat(python): add core 3.14/3.15 gate scenarios (PROF-15511)#166
vlad-scherbich wants to merge 6 commits into
vlad/gate-infrafrom
vlad/gate-scenarios-core

Conversation

@vlad-scherbich

@vlad-scherbich vlad-scherbich commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Prev: #165 | Next: #169

Motivation

First scenario batch for the 3.14/3.15 migration gate: lock, exception, and async-generator profiler families.

Summary

Adds 6 scenario directories (3 families × 2 versions). All 3.15 dirs are wheel-only (excluded from prof-correctness main CI).

Family 3.14 3.15
lock python_lock_3.14 python_lock_3.15
exceptions python_exceptions_3.14 python_exceptions_3.15
async-gen python_async_gen_3.14 python_async_gen_3.15

Demo FAIL / PASS

Intentional FAIL (current): python / scenarios shard running python_lock_3.14 — profile expectation set to 99% ±0 (will not match).

Check Expected failure
python / scenarios * python_lock_3.14 profile mismatch

To demo PASS: revert top commit or restore scenarios/python_lock_3.14/expected_profile.json first percent/error_margin to 50 / 100.

Test plan

  • go test -run TestSchemaValidation
  • ruff check on scenario sources
  • python / scenarios fails on lock (demo)
  • Downstream gate with DDTRACE_INSTALL_URL

@vlad-scherbich
vlad-scherbich force-pushed the vlad/gate-scenarios-core branch 2 times, most recently from a6f7352 to 000f4a9 Compare July 27, 2026 19:33
@vlad-scherbich
vlad-scherbich force-pushed the vlad/gate-scenarios-core branch from 000f4a9 to 60ea668 Compare July 27, 2026 19:37
@vlad-scherbich
vlad-scherbich force-pushed the vlad/gate-scenarios-core branch from 60ea668 to 62e3011 Compare July 27, 2026 21:40
@vlad-scherbich
vlad-scherbich force-pushed the vlad/gate-scenarios-core branch from 62e3011 to f57b68e Compare July 27, 2026 21:45
@vlad-scherbich
vlad-scherbich force-pushed the vlad/gate-scenarios-core branch from f57b68e to 8005774 Compare July 27, 2026 22:01
@vlad-scherbich
vlad-scherbich force-pushed the vlad/gate-scenarios-core branch from 8005774 to 55c69de Compare July 27, 2026 22:05
@vlad-scherbich vlad-scherbich changed the title feat(python): add core 3.14/3.15 gate scenarios (lock, exceptions, as… feat(python): add core 3.14/3.15 gate scenarios (PROF-15511) Jul 27, 2026
@vlad-scherbich
vlad-scherbich force-pushed the vlad/gate-scenarios-core branch 2 times, most recently from b792769 to 318b89a Compare July 28, 2026 02:38
vlad-scherbich added a commit that referenced this pull request Aug 16, 2026
Demo-only: lock profile expectation is deliberately wrong (99% ±0).
Fix expected_profile.json or revert to demo PASS for green CI.
@vlad-scherbich
vlad-scherbich force-pushed the vlad/gate-scenarios-core branch from 318b89a to be9aad4 Compare August 16, 2026 13:42
vlad-scherbich added a commit that referenced this pull request Aug 16, 2026
Demo-only: lock profile expectation is deliberately wrong (99% ±0).
Fix expected_profile.json or revert to demo PASS for green CI.
@vlad-scherbich
vlad-scherbich force-pushed the vlad/gate-scenarios-core branch from be9aad4 to dc91d73 Compare August 16, 2026 20:14
- ddprof_live_heap: widen alloc-space margin to 15% (CI often ~94% vs 100%
  due to C++ runtime overhead; see scenario README)
- ddprof_julia: pin julia:1.11.5-bookworm instead of :latest, and allow the
  first CPU profile cycle to fail when JIT symbols are not yet exported
…am gate

Add RE2-safe list-scenarios -exclude and ci.yml test_scenarios_exclude so
wheel-only Python scenarios are not silently skipped. Ship Python 3.14/3.15
base images, dd-trace-py STS trigger policy, and migration gate index README.
Scenario workloads land in follow-up PRs.
…am gate

Add RE2-safe list-scenarios -exclude and ci.yml test_scenarios_exclude so
wheel-only Python scenarios are not silently skipped. Ship Python 3.14/3.15
base images, dd-trace-py STS trigger policy, and a minimal migration gate
index README; scenario workloads land in follow-up PRs.
Absolute alloc_objects counts for the a();slice stack are unstable on CI
runners (16484 vs expected 100). Keep inuse_* and alloc_space ratio checks.
…ync_gen)

Add six paired scenarios for the migration gate with lock-release and lock
name labels plus exception type labels. Stacks on gate-infra (PR-0).
Demo-only: lock profile expectation is deliberately wrong (99% ±0).
Fix expected_profile.json or revert to demo PASS for green CI.
@vlad-scherbich
vlad-scherbich force-pushed the vlad/gate-scenarios-core branch from dc91d73 to 31bf0f0 Compare August 16, 2026 20:21
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.

1 participant