Skip to content

feat(python): add live_heap 3.14/3.15 gate scenarios (PROF-15511) - #168

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

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

Conversation

@vlad-scherbich

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

Copy link
Copy Markdown
Contributor

Prev: #165 | Parallel: #166, #167

Motivation

Persistent live-heap profiling needs dedicated gate scenarios. Wheel-only on both 3.14 and 3.15 until PyPI/release wheels exist.

Summary

  • Adds python_live_heap_3.14 / python_live_heap_3.15
  • Extends ci.yml exclude: ^python_live_heap_3\.14$ (3.15 already excluded by _3\.15$)

Demo FAIL / PASS

Intentional FAIL (current): ci.yml drops python_live_heap_3.14 from test_scenarios_exclude while TestRun_ExcludeDropsMatchedNames still expects it excluded → unit test fails (and/or live_heap incorrectly included in CI matrix).

Check Expected failure
schema-validation / list-scenarios excluded set wrong

To demo PASS: revert top commit or restore:

test_scenarios_exclude: '_3\.15$|^python_live_heap_3\.14$|^python_downstream_gate$'

Test plan

  • go test ./cmd/list-scenarios/... (fails until demo reverted)
  • go test -run TestSchemaValidation
  • Downstream with DDTRACE_INSTALL_URL once wheel exists

@vlad-scherbich
vlad-scherbich force-pushed the vlad/gate-scenarios-live-heap branch 2 times, most recently from af40a0a to 0442a47 Compare July 27, 2026 19:33
@vlad-scherbich
vlad-scherbich force-pushed the vlad/gate-scenarios-live-heap branch from 0442a47 to 689a1e0 Compare July 27, 2026 19:38
@vlad-scherbich
vlad-scherbich force-pushed the vlad/gate-scenarios-live-heap branch from 689a1e0 to df65b73 Compare July 27, 2026 21:41
@vlad-scherbich
vlad-scherbich force-pushed the vlad/gate-scenarios-live-heap branch from df65b73 to 36a562e Compare July 27, 2026 21:45
@vlad-scherbich
vlad-scherbich force-pushed the vlad/gate-scenarios-live-heap branch from 36a562e to 36b78e7 Compare July 27, 2026 22:01
@vlad-scherbich
vlad-scherbich force-pushed the vlad/gate-scenarios-live-heap branch from 36b78e7 to 89bc3a9 Compare July 27, 2026 22:05
@vlad-scherbich vlad-scherbich changed the title feat(python): add live_heap 3.14/3.15 gate scenarios feat(python): add live_heap 3.14/3.15 gate scenarios (PROF-15511) Jul 27, 2026
@vlad-scherbich
vlad-scherbich force-pushed the vlad/gate-scenarios-live-heap branch from 89bc3a9 to 3cd6cff Compare July 27, 2026 22:29
vlad-scherbich added a commit that referenced this pull request Aug 16, 2026
Demo-only: ci.yml drops python_live_heap_3.14 from test_scenarios_exclude
while list-scenarios unit test still expects it excluded. Restore exclude
regexp to demo PASS.
@vlad-scherbich
vlad-scherbich force-pushed the vlad/gate-scenarios-live-heap branch from 3cd6cff to a5f8ef3 Compare August 16, 2026 13:42
vlad-scherbich added a commit that referenced this pull request Aug 16, 2026
Demo-only: ci.yml omits python_live_heap_3.14 from test_scenarios_exclude
and list-scenarios unit test expects live_heap in the included set.
Restore both to demo PASS.
@vlad-scherbich
vlad-scherbich force-pushed the vlad/gate-scenarios-live-heap branch from a5f8ef3 to a018aba Compare August 16, 2026 13:43
vlad-scherbich added a commit that referenced this pull request Aug 16, 2026
Demo-only: ci.yml omits python_live_heap_3.14 from test_scenarios_exclude
and list-scenarios unit test expects live_heap in the included set.
Restore both to demo PASS.
@vlad-scherbich
vlad-scherbich force-pushed the vlad/gate-scenarios-live-heap branch from a018aba to 8a00ce9 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.
Persistent live-heap snapshot coverage; both dirs are wheel-only. Add
python_live_heap_3.14 to main CI exclude. Stacks on gate-infra (PR-0).
Demo-only: ci.yml omits python_live_heap_3.14 from test_scenarios_exclude
and list-scenarios unit test expects live_heap in the included set.
Restore both to demo PASS.
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