Skip to content

Commit dfb5df9

Browse files
authored
Merge branch 'main' into gyuheon0h/prof-12603-dual-upload-ct
2 parents 96b2e7a + 429f02c commit dfb5df9

File tree

620 files changed

+32121
-11328
lines changed

Some content is hidden

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

620 files changed

+32121
-11328
lines changed

.github/CODEOWNERS

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,7 @@ ddtrace/opentelemetry/ @DataDog/apm-sdk-capabilities
204204
ddtrace/internal/opentelemetry @DataDog/apm-sdk-capabilities-python
205205
ddtrace/opentracer/ @DataDog/apm-sdk-capabilities-python
206206
ddtrace/propagation/ @DataDog/apm-sdk-capabilities-python
207+
ddtrace/settings/_opentelemetry.py @DataDog/apm-sdk-capabilities-python
207208

208209
ddtrace/internal/sampling.py @DataDog/apm-sdk-capabilities-python
209210
ddtrace/internal/tracemethods.py @DataDog/apm-sdk-capabilities-python
@@ -223,8 +224,26 @@ tests/tracer/ @DataDog/apm-sdk-capabilities
223224
tests/tracer/test_ci.py @DataDog/ci-app-libraries
224225

225226
# Serverless
226-
tests/internal/test_serverless.py @DataDog/apm-core-python @DataDog/apm-serverless
227-
tests/contrib/aws_lambda @DataDog/apm-serverless
227+
ddtrace/contrib/internal/aws_lambda @DataDog/apm-serverless
228+
ddtrace/contrib/internal/azure_eventhubs @DataDog/serverless @DataDog/apm-serverless
229+
ddtrace/contrib/internal/azure_functions @DataDog/serverless @DataDog/apm-serverless
230+
ddtrace/contrib/internal/azure_servicebus @DataDog/serverless @DataDog/apm-serverless
231+
ddtrace/ext/aws.py @DataDog/apm-serverless @DataDog/apm-idm-python
232+
ddtrace/ext/azure_eventhubs.py @DataDog/serverless @DataDog/apm-serverless
233+
ddtrace/ext/azure_servicebus.py @DataDog/serverless @DataDog/apm-serverless
234+
tests/contrib/aws_lambda @DataDog/apm-serverless
235+
tests/contrib/azure_eventhubs @DataDog/serverless @DataDog/apm-serverless
236+
tests/contrib/azure_functions @DataDog/serverless @DataDog/apm-serverless
237+
tests/contrib/azure_functions_eventhubs @DataDog/serverless @DataDog/apm-serverless
238+
tests/contrib/azure_functions_servicebus @DataDog/serverless @DataDog/apm-serverless
239+
tests/contrib/azure_servicebus @DataDog/serverless @DataDog/apm-serverless
240+
tests/internal/test_serverless.py @DataDog/apm-core-python @DataDog/apm-serverless
241+
tests/snapshots/tests.contrib.aws_lambda.*. @DataDog/apm-serverless
242+
tests/snapshots/tests.contrib.azure_eventhubs.* @DataDog/serverless @DataDog/apm-serverless
243+
tests/snapshots/tests.contrib.azure_functions.* @DataDog/serverless @DataDog/apm-serverless
244+
tests/snapshots/tests.contrib.azure_functions_eventhubs.* @DataDog/serverless @DataDog/apm-serverless
245+
tests/snapshots/tests.contrib.azure_functions_servicebus.* @DataDog/serverless @DataDog/apm-serverless
246+
tests/snapshots/tests.contrib.azure_servicebus.* @DataDog/serverless @DataDog/apm-serverless
228247

229248
# Data Streams Monitoring
230249
ddtrace/internal/datastreams @DataDog/data-streams-monitoring

.github/workflows/build_deploy.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,9 @@ jobs:
116116
run: apk add git gcc g++ musl-dev libffi-dev openssl-dev bash rust cargo make cmake patchelf
117117

118118
- name: Check source package
119+
# https://github.com/theacodes/cmarkgfm/issues/84
119120
run: |
120-
pip install twine readme_renderer[md]
121+
pip install twine readme_renderer[md] "cmarkgfm<2025.10.20"
121122
twine check dist/*.tar.gz
122123
- name: Install source package
123124
env:

.github/workflows/requirements-locks.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
name: Check requirements lockfiles
1313
runs-on: ubuntu-latest
1414
container:
15-
image: ghcr.io/datadog/dd-trace-py/testrunner:280be7679757b720503a284a69da36995b6ef48d@sha256:68865857c710d5703ddf9190ff33eb1ea47974e8332d04e2e115ef3b52513def
15+
image: ghcr.io/datadog/dd-trace-py/testrunner:adc7896c0901c0589e45776d9e409c3d1b15cd51@sha256:5fa1b0062e20c753cd5da590df3841b74b9ead5b4531a7ec9f5cacd2b95386e3
1616
options: "--user 0"
1717
steps:
1818
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
@@ -25,7 +25,7 @@ jobs:
2525
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
2626

2727
- name: Set python interpreters
28-
run: pyenv global 3.10 3.8 3.9 3.11 3.12 3.13 3.14.0rc1
28+
run: pyenv global 3.10 3.8 3.9 3.11 3.12 3.13 3.14
2929

3030
- name: Install Dependencies
3131
run: pip install --upgrade pip && pip install riot==0.20.1 && pip install toml==0.10.2

.github/workflows/system-tests.yml

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,6 @@ jobs:
3535
TEST_LIBRARY: python
3636
WEBLOG_VARIANT: ${{ matrix.weblog-variant }}
3737
CMAKE_BUILD_PARALLEL_LEVEL: 12
38-
SYSTEM_TESTS_AWS_ACCESS_KEY_ID: ${{ secrets.IDM_AWS_ACCESS_KEY_ID }}
39-
SYSTEM_TESTS_AWS_SECRET_ACCESS_KEY: ${{ secrets.IDM_AWS_SECRET_ACCESS_KEY }}
4038
steps:
4139
- name: Install Dependencies
4240
run: sudo apt-get install -y patchelf
@@ -47,7 +45,7 @@ jobs:
4745
persist-credentials: false
4846
repository: 'DataDog/system-tests'
4947
# Automatically managed, use scripts/update-system-tests-version to update
50-
ref: '6be22a6418b86c3be4920790dfa121149aed2903'
48+
ref: 'f3752de0abce8bd5e7625577a105eb8af53bb8ce'
5149

5250
- name: Download wheels to binaries directory
5351
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
@@ -84,8 +82,6 @@ jobs:
8482
TEST_LIBRARY: python
8583
WEBLOG_VARIANT: ${{ matrix.weblog-variant }}
8684
CMAKE_BUILD_PARALLEL_LEVEL: 12
87-
SYSTEM_TESTS_AWS_ACCESS_KEY_ID: ${{ secrets.IDM_AWS_ACCESS_KEY_ID }}
88-
SYSTEM_TESTS_AWS_SECRET_ACCESS_KEY: ${{ secrets.IDM_AWS_SECRET_ACCESS_KEY }}
8985
steps:
9086

9187
- name: Checkout system tests
@@ -94,7 +90,7 @@ jobs:
9490
persist-credentials: false
9591
repository: 'DataDog/system-tests'
9692
# Automatically managed, use scripts/update-system-tests-version to update
97-
ref: '6be22a6418b86c3be4920790dfa121149aed2903'
93+
ref: 'f3752de0abce8bd5e7625577a105eb8af53bb8ce'
9894

9995
- name: Build runner
10096
uses: ./.github/actions/install_runner
@@ -279,7 +275,7 @@ jobs:
279275
persist-credentials: false
280276
repository: 'DataDog/system-tests'
281277
# Automatically managed, use scripts/update-system-tests-version to update
282-
ref: '6be22a6418b86c3be4920790dfa121149aed2903'
278+
ref: 'f3752de0abce8bd5e7625577a105eb8af53bb8ce'
283279
- name: Download wheels to binaries directory
284280
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
285281
with:

.github/workflows/test_lib_injection.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
- "3.11"
3131
- "3.12"
3232
- "3.13"
33-
- "3.14.0rc3"
33+
- "3.14"
3434
steps:
3535
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
3636
with:

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,3 +198,6 @@ tests/appsec/iast/fixtures/taint_sinks/not_exists.txt
198198

199199
*.debug
200200
*.dSYM/
201+
202+
# Rust build artifacts
203+
src/native/target*

.gitlab-ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ variables:
1414
DD_VPA_TEMPLATE: "vpa-template-cpu-p70-10percent-2x-oom-min-cap"
1515
# CI_DEBUG_SERVICES: "true"
1616
# Automatically managed, use scripts/update-system-tests-version to update
17-
SYSTEM_TESTS_REF: "6be22a6418b86c3be4920790dfa121149aed2903"
17+
SYSTEM_TESTS_REF: "f3752de0abce8bd5e7625577a105eb8af53bb8ce"
1818

1919
default:
2020
interruptible: true

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -799,11 +799,11 @@ experiments:
799799
- name: otelspan-add-metrics
800800
thresholds:
801801
- execution_time < 344.80 ms
802-
- max_rss_usage < 600.00 MB
802+
- max_rss_usage < 675.00 MB
803803
- name: otelspan-add-tags
804804
thresholds:
805805
- execution_time < 314.00 ms
806-
- max_rss_usage < 600.00 MB
806+
- max_rss_usage < 675.00 MB
807807
- name: otelspan-get-context
808808
thresholds:
809809
- execution_time < 92.35 ms
@@ -1067,7 +1067,7 @@ experiments:
10671067
- max_rss_usage < 34.00 MB
10681068
- name: span-start-finish-traceid128
10691069
thresholds:
1070-
- execution_time < 55.00 ms
1070+
- execution_time < 57.00 ms
10711071
- max_rss_usage < 34.00 MB
10721072
- name: span-start-traceid128
10731073
thresholds:
@@ -1085,7 +1085,7 @@ experiments:
10851085
- max_rss_usage < 34.00 MB
10861086
- name: telemetryaddmetric-1-count-metrics-100-times
10871087
thresholds:
1088-
- execution_time < 0.25 ms
1088+
- execution_time < 0.22 ms
10891089
- max_rss_usage < 34.00 MB
10901090
- name: telemetryaddmetric-1-distribution-metric-1-times
10911091
thresholds:
@@ -1113,11 +1113,11 @@ experiments:
11131113
- max_rss_usage < 34.00 MB
11141114
- name: telemetryaddmetric-100-count-metrics-100-times
11151115
thresholds:
1116-
- execution_time < 23.50 ms
1116+
- execution_time < 22.0 ms
11171117
- max_rss_usage < 34.00 MB
11181118
- name: telemetryaddmetric-100-distribution-metrics-100-times
11191119
thresholds:
1120-
- execution_time < 2.25 ms
1120+
- execution_time < 2.30 ms
11211121
- max_rss_usage < 34.00 MB
11221122
- name: telemetryaddmetric-100-gauge-metrics-100-times
11231123
thresholds:

.gitlab/one-pipeline.locked.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# DO NOT EDIT THIS FILE MANUALLY
22
# This file is auto-generated by automation.
33
include:
4-
- remote: https://gitlab-templates.ddbuild.io/libdatadog/one-pipeline/ca/a0486057161f85a77e39ad2aa60ac66bb52414696d9b3dd87177df1057b11295/one-pipeline.yml
4+
- remote: https://gitlab-templates.ddbuild.io/libdatadog/one-pipeline/ca/019c5ba11c2018bf17e06c74d6d8bc784f77bd7bf16d474d628609de91dbca29/one-pipeline.yml

.gitlab/package.yml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,3 +82,76 @@ download_dependency_wheels:
8282
artifacts:
8383
paths:
8484
- "pywheels-dep/"
85+
86+
publish-wheels-to-s3:
87+
tags: ["arch:amd64"]
88+
image: registry.ddbuild.io/images/mirror/amazon/aws-cli:2.4.29
89+
stage: package
90+
rules:
91+
- when: always
92+
needs:
93+
- job: download_ddtrace_artifacts
94+
artifacts: true
95+
- job: compute_library_version
96+
artifacts: true
97+
variables:
98+
BUCKET: dd-trace-py-builds
99+
script:
100+
- set -euo pipefail
101+
- shopt -s nullglob
102+
# Find wheels
103+
- WHEELS=(pywheels/*.whl)
104+
- |
105+
if [ ${#WHEELS[@]} -eq 0 ]; then
106+
echo "No wheels found in pywheels/"; exit 1
107+
fi
108+
- echo "Found ${#WHEELS[@]} wheel(s):"
109+
- printf ' - %s\n' "${WHEELS[@]}"
110+
111+
- |
112+
if [ -f library-version/version.txt ]; then
113+
VERSION="$(tr -d '\r\n' < library-version/version.txt)"
114+
fi
115+
116+
if [ -z "${VERSION:-}" ]; then
117+
echo "ERROR: VERSION is not defined or library-version/version.txt missing!"
118+
exit 1
119+
fi
120+
121+
- printf 'Detected version %s\n' ${VERSION}
122+
123+
# Upload all wheels to versioned prefix and pipeline-id prefix
124+
- aws s3 cp --recursive --exclude "*" --include "*.whl" pywheels "s3://${BUCKET}/${VERSION}/"
125+
- aws s3 cp --recursive --exclude "*" --include "*.whl" pywheels "s3://${BUCKET}/${CI_PIPELINE_ID}/"
126+
127+
- |
128+
VERSION_ENC="${VERSION//+/%2B}"
129+
S3_BASE_VER="https://${BUCKET}.s3.amazonaws.com/${VERSION_ENC}"
130+
S3_BASE_PIPE="https://${BUCKET}.s3.amazonaws.com/${CI_PIPELINE_ID}"
131+
132+
generate_index_html() {
133+
local outfile="$1"
134+
{
135+
echo "<html><body>"
136+
for w in "${WHEELS[@]}"; do
137+
fname="$(basename "$w")"
138+
enc_fname="${fname//+/%2B}"
139+
echo "<a href=\"${enc_fname}\">${fname}</a><br>"
140+
done
141+
echo "</body></html>"
142+
} > "${outfile}"
143+
}
144+
145+
# Generate both minimal indexes
146+
generate_index_html "index.version.html"
147+
generate_index_html "index.pipeline.html"
148+
149+
# Upload to each S3 prefix
150+
aws s3 cp "index.version.html" "s3://${BUCKET}/${VERSION}/index.html" --content-type text/html
151+
aws s3 cp "index.pipeline.html" "s3://${BUCKET}/${CI_PIPELINE_ID}/index.html" --content-type text/html
152+
153+
# Print the clickable URLs
154+
VER_INDEX_URL="${S3_BASE_VER}/index.html"
155+
PIPE_INDEX_URL="${S3_BASE_PIPE}/index.html"
156+
echo "S3 index (version): ${VER_INDEX_URL}"
157+
echo "S3 index (pipeline): ${PIPE_INDEX_URL}"

0 commit comments

Comments
 (0)