Skip to content

Commit 5375271

Browse files
Merge remote-tracking branch 'origin/main' into vlad/native-heap-gotter-cdylib-build-pr-a
2 parents f636dfd + 59f697c commit 5375271

220 files changed

Lines changed: 9344 additions & 2980 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude/skills/circular-import-analysis/SKILL.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,10 @@ To read the results:
4141
cat cycles.json # raw JSON array of cycles
4242
```
4343

44-
Each entry is an array of module names forming the cycle, e.g.:
44+
Each entry has the full set of modules in the tangled component (`nodes`) and one
45+
concrete simple cycle through it (`cycle`), e.g.:
4546
```json
46-
["ddtrace", "ddtrace.internal.datastreams", "ddtrace"]
47+
{"nodes": ["ddtrace", "ddtrace.internal.datastreams"], "cycle": ["ddtrace", "ddtrace.internal.datastreams", "ddtrace"]}
4748
```
4849

4950
Clean up afterwards:

.github/CODEOWNERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,9 @@ tests/telemetry @DataDog/apm-python
3131
# Guild
3232
# Root level config files
3333
conftest.py @DataDog/python-guild
34+
docker-compose.base.yml @DataDog/python-guild
3435
docker-compose.gpu.yml @DataDog/python-guild
36+
docker-compose.podman.yml @DataDog/python-guild
3537
docker-compose.yml @DataDog/python-guild
3638
repository.datadog.yml @DataDog/python-guild
3739
sgconfig.yml @DataDog/python-guild

.github/workflows/build_deploy.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ on:
44
push:
55
branches:
66
- main
7+
- staging
78
- '[0-9].[0-9]*'
89
- '[0-9].x'
910
# special branches used to test this workflow

.github/workflows/generate-package-versions.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ jobs:
117117
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0
118118
with:
119119
token: ${{ steps.octo-sts.outputs.token }}
120+
sign-commits: true
120121
branch: "upgrade-latest-${{ env.VENV_NAME }}-version"
121122
commit-message: "Update package version"
122123
delete-branch: true

.github/workflows/system-tests.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,11 @@ jobs:
9595
serverless-system-tests:
9696
needs: [serverless-system-tests-build-layer]
9797
# Automatically managed, use scripts/update-system-tests-version to update
98-
uses: DataDog/system-tests/.github/workflows/system-tests.yml@579b7f34d7b1f5982a7003bcd65a5e0b14cd1b61
98+
uses: DataDog/system-tests/.github/workflows/system-tests.yml@4be985b2a08121eb586d8e37e03e89e2407ba2a2
9999
secrets: inherit
100100
with:
101101
library: python_lambda
102-
ref: '579b7f34d7b1f5982a7003bcd65a5e0b14cd1b61'
102+
ref: '4be985b2a08121eb586d8e37e03e89e2407ba2a2'
103103
binaries_artifact: serverless_system_tests_binaries
104104
scenarios_groups: lambda_end_to_end
105105
skip_empty_scenarios: true
@@ -126,22 +126,22 @@ jobs:
126126
if: github.event_name != 'schedule' || github.event.repository.fork == false
127127
needs: [integration-frameworks-combine-wheels]
128128
# Automatically managed, use scripts/update-system-tests-version to update
129-
uses: DataDog/system-tests/.github/workflows/system-tests.yml@579b7f34d7b1f5982a7003bcd65a5e0b14cd1b61
129+
uses: DataDog/system-tests/.github/workflows/system-tests.yml@4be985b2a08121eb586d8e37e03e89e2407ba2a2
130130
secrets: inherit
131131
with:
132132
library: python
133-
ref: '579b7f34d7b1f5982a7003bcd65a5e0b14cd1b61'
133+
ref: '4be985b2a08121eb586d8e37e03e89e2407ba2a2'
134134
scenarios: INTEGRATION_FRAMEWORKS
135135
binaries_artifact: integration-frameworks-wheels
136136
push_to_test_optimization: true
137137

138138
tracer-release:
139139
needs:
140140
- download-s3-wheels
141-
uses: DataDog/system-tests/.github/workflows/system-tests.yml@579b7f34d7b1f5982a7003bcd65a5e0b14cd1b61
141+
uses: DataDog/system-tests/.github/workflows/system-tests.yml@4be985b2a08121eb586d8e37e03e89e2407ba2a2
142142
with:
143143
library: python
144-
ref: '579b7f34d7b1f5982a7003bcd65a5e0b14cd1b61'
144+
ref: '4be985b2a08121eb586d8e37e03e89e2407ba2a2'
145145
binaries_artifact: wheels-manylinux_x86_64
146146
desired_execution_time: 900
147147
scenarios_groups: tracer-release

.github/workflows/update-package-version.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ jobs:
137137
uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0
138138
with:
139139
token: ${{ steps.octo-sts.outputs.token }}
140+
sign-commits: true
140141
branch: "upgrade-latest-${{ inputs.package_name }}-version"
141142
commit-message: "Update package version"
142143
delete-branch: true

.gitlab-ci.yml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,14 @@ variables:
1818
DD_VPA_TEMPLATE: "vpa-template-cpu-p70-10percent-2x-oom-min-cap"
1919
# CI_DEBUG_SERVICES: "true"
2020
# Automatically managed, use scripts/update-system-tests-version to update
21-
SYSTEM_TESTS_REF: "579b7f34d7b1f5982a7003bcd65a5e0b14cd1b61"
21+
SYSTEM_TESTS_REF: "4be985b2a08121eb586d8e37e03e89e2407ba2a2"
2222

2323
# Profiling native build image (built from dd/images/dd-trace-py/profiling_native)
2424
PROFILING_NATIVE_IMAGE: "registry.ddbuild.io/dd-trace-py:v103334885-be1888c-profiling_native"
2525
# Repository URL for CI Visibility
2626
DD_GIT_REPOSITORY_URL: "https://github.com/DataDog/dd-trace-py.git"
27+
# General purpose CI image (built from dd/images/dd-trace-py/ci-utils)
28+
CI_UTILS_IMAGE: "registry.ddbuild.io/dd-trace-py:v129724447-ccf4260-ci-utils@sha256:3ff0b19510872d740ee4bd3bddde9bb47567ccac7b6e4684bafb6b2bdaf62247"
2729

2830
# One pipeline injection package size ratchet
2931
OCI_PACKAGE_MAX_SIZE_BYTES: 80_000_000
@@ -338,7 +340,7 @@ codeowners:
338340
stage: tests
339341
needs: []
340342
tags: ["arch:amd64"]
341-
image: registry.ddbuild.io/images/mirror/ubuntu:25.04
343+
image: ${CI_UTILS_IMAGE}
342344
script:
343345
# Validate that each file entry only exists once in CODEOWNERS to prevent confusion about ownership.
344346
# The file is evaluated from top to bottom where the last match wins, so duplicate entries can lead to unexpected owners being assigned.
@@ -366,9 +368,7 @@ codeowners:
366368
echo "Please remove duplicates from .github/CODEOWNERS."
367369
exit 1
368370
fi
369-
- apt-get update && apt install ca-certificates git wget curl -y
370-
- wget https://github.com/hmarr/codeowners/releases/download/v1.2.1/codeowners_1.2.1_linux_amd64.tar.gz
371-
- tar -xvzf codeowners_1.2.1_linux_amd64.tar.gz
371+
- git config --global --add safe.directory "${CI_PROJECT_DIR}"
372372
- git diff-tree --no-commit-id --name-only -r $CI_COMMIT_SHA > /tmp/changed_all.txt
373373
# Filter to only files that exist on disk (deleted files cause codeowners to crash)
374374
- |
@@ -379,7 +379,7 @@ codeowners:
379379
- |
380380
if [ -s /tmp/changed_files.txt ]; then
381381
echo '```' > codeowners.txt
382-
xargs ./codeowners < /tmp/changed_files.txt | tee -a codeowners.txt
382+
xargs codeowners < /tmp/changed_files.txt | tee -a codeowners.txt
383383
echo '```' >> codeowners.txt
384384
fi
385385
- .gitlab/scripts/post-pr-comment.sh "Codeowners resolved as" codeowners.txt
@@ -674,6 +674,12 @@ configure_system_tests:
674674
system_tests:
675675
needs: ["configure_system_tests", "oci-internal-test-publish", "kubernetes-injection-test-ecr-publish"]
676676

677+
# The reliability environment installs commit-scoped wheels from the CI index.
678+
deploy_to_reliability_env:
679+
needs:
680+
- job: "upload all"
681+
artifacts: false
682+
677683
# Clear the one-pipeline publishing-gate's `needs: []` so it falls back to
678684
# stage-based ordering and waits for all prior stages before publishing.
679685
publishing-gate:

.gitlab/benchmarks/bp-runner.microbenchmarks.fail-on-breach.template.yml

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -797,49 +797,49 @@ experiments:
797797
# telemetryaddmetric
798798
- name: telemetryaddmetric-1-count-metric-1-times
799799
thresholds:
800-
- execution_time < 0.02 ms
800+
- execution_time < 0.005 ms
801801
- name: telemetryaddmetric-1-count-metrics-100-times
802802
thresholds:
803803
- execution_time < 0.22 ms
804804
- name: telemetryaddmetric-1-distribution-metric-1-times
805805
thresholds:
806-
- execution_time < 0.02 ms
806+
- execution_time < 0.005 ms
807807
- name: telemetryaddmetric-1-distribution-metrics-100-times
808808
thresholds:
809-
- execution_time < 0.23 ms
809+
- execution_time < 0.22 ms
810810
- name: telemetryaddmetric-1-gauge-metric-1-times
811811
thresholds:
812-
- execution_time < 0.02 ms
812+
- execution_time < 0.005 ms
813813
- name: telemetryaddmetric-1-gauge-metrics-100-times
814814
thresholds:
815-
- execution_time < 0.19 ms
815+
- execution_time < 0.22 ms
816816
- name: telemetryaddmetric-1-rate-metric-1-times
817817
thresholds:
818-
- execution_time < 0.02 ms
818+
- execution_time < 0.005 ms
819819
- name: telemetryaddmetric-1-rate-metrics-100-times
820820
thresholds:
821-
- execution_time < 0.25 ms
821+
- execution_time < 0.22 ms
822822
- name: telemetryaddmetric-100-count-metrics-100-times
823823
thresholds:
824824
- execution_time < 22.0 ms
825825
- name: telemetryaddmetric-100-distribution-metrics-100-times
826826
thresholds:
827-
- execution_time < 2.55 ms
827+
- execution_time < 2.30 ms
828828
- name: telemetryaddmetric-100-gauge-metrics-100-times
829829
thresholds:
830-
- execution_time < 1.85 ms
830+
- execution_time < 2.25 ms
831831
- name: telemetryaddmetric-100-rate-metrics-100-times
832832
thresholds:
833-
- execution_time < 2.55 ms
834-
- name: telemetryaddmetric-flush-1-metric
833+
- execution_time < 2.25 ms
834+
- name: telemetryaddmetric-record-1-metric
835835
thresholds:
836-
- execution_time < 0.02 ms
837-
- name: telemetryaddmetric-flush-100-metrics
836+
- execution_time < 0.006 ms
837+
- name: telemetryaddmetric-record-100-metrics
838838
thresholds:
839-
- execution_time < 0.25 ms
840-
- name: telemetryaddmetric-flush-1000-metrics
839+
- execution_time < 0.23 ms
840+
- name: telemetryaddmetric-record-1000-metrics
841841
thresholds:
842-
- execution_time < 2.50 ms
842+
- execution_time < 2.30 ms
843843

844844
# telemetrydependencies
845845
- name: telemetrydependencies-first-50-deps-sca-off
@@ -871,7 +871,7 @@ experiments:
871871
- execution_time < 3.00 ms
872872
- name: forktime-configured
873873
thresholds:
874-
- execution_time < 17 ms
874+
- execution_time < 22 ms
875875

876876
# rand
877877
- name: rand-rand64bits

.gitlab/benchmarks/microbenchmarks.yml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ variables:
1616
BENCHMARKING_IMAGE_REGISTRY: 486234852809.dkr.ecr.us-east-1.amazonaws.com
1717
MICROBENCHMARKS_CI_IMAGE: $BENCHMARKING_IMAGE_REGISTRY/ci/benchmarking-platform:dd-trace-py
1818
PACKAGE_IMAGE: registry.ddbuild.io/images/mirror/pypa/manylinux2014_x86_64:2025-04-12-5990e2d
19-
GITHUB_CLI_IMAGE: registry.ddbuild.io/images/dd-octo-sts-ci-base:2025.06-1
2019
BENCHMARKING_BRANCH: dd-trace-py
2120
BENCHMARKING_COMMIT_SHA: dbe21f0dd0f8274c31a006d0482f6836e86446c4
2221

@@ -94,7 +93,7 @@ variables:
9493
PIP_CACHE_DIR: "${CI_PROJECT_DIR}/.cache/pip"
9594

9695
baseline:detect:
97-
image: $GITHUB_CLI_IMAGE
96+
image: ${CI_UTILS_IMAGE}
9897
tags: [ "arch:amd64" ]
9998
stage: build
10099
id_tokens:
@@ -132,6 +131,12 @@ baseline:build:
132131
variables:
133132
CMAKE_BUILD_PARALLEL_LEVEL: 12
134133
CARGO_BUILD_JOBS: 12
134+
KUBERNETES_CPU_REQUEST: "6"
135+
KUBERNETES_MEMORY_REQUEST: "10Gi"
136+
KUBERNETES_MEMORY_LIMIT: "10Gi"
137+
# DD_DISABLE_VPA is required: without it VPA overrides KUBERNETES_MEMORY_*
138+
# and clamps the build container, causing OOMKills during parallel compilation.
139+
DD_DISABLE_VPA: "true"
135140
script: |
136141
CACHED_WHL=$(ls *.whl | head -n 1) 2>/dev/null || echo ""
137142
if [ ! -f "${CACHED_WHL}" ];

.gitlab/multi-os-tests.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ os tests macos:
3939
image: "486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/ci-platform-machine-images/tart-vm:dd-trace-py-sonoma-latest"
4040
tags: ["macos:tart"]
4141
needs: [ "build macos arm64" ]
42-
allow_failure: true
4342
variables:
4443
WHEEL_PATTERN: "macosx*arm64.whl"
4544
PLATFORM: "macOS"

0 commit comments

Comments
 (0)