Skip to content

Commit 16d99a0

Browse files
committed
Merge branch 'taegyunkim/prof-14213-timer-create' of https://github.com/DataDog/dd-trace-py into taegyunkim/prof-14213-timer-create
2 parents 030f6b2 + 07c0485 commit 16d99a0

281 files changed

Lines changed: 11568 additions & 8673 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.

.github/CODEOWNERS

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@ ddtrace/contrib/internal/google_adk @DataDog/ml-observ
189189
ddtrace/contrib/internal/google_generativeai @DataDog/ml-observability
190190
ddtrace/contrib/internal/google_genai @DataDog/ml-observability
191191
ddtrace/contrib/internal/vertexai @DataDog/ml-observability
192+
ddtrace/contrib/internal/mistralai @DataDog/ml-observability
192193
ddtrace/contrib/internal/langgraph @DataDog/ml-observability
193194
ddtrace/contrib/internal/crewai @DataDog/ml-observability
194195
ddtrace/contrib/internal/openai_agents @DataDog/ml-observability
@@ -213,6 +214,7 @@ tests/contrib/google_adk @DataDog/ml-observ
213214
tests/contrib/google_generativeai @DataDog/ml-observability
214215
tests/contrib/google_genai @DataDog/ml-observability
215216
tests/contrib/vertexai @DataDog/ml-observability
217+
tests/contrib/mistralai @DataDog/ml-observability
216218
tests/contrib/langgraph @DataDog/ml-observability
217219
tests/contrib/crewai @DataDog/ml-observability
218220
tests/contrib/openai_agents @DataDog/ml-observability
@@ -233,6 +235,7 @@ tests/snapshots/tests.contrib.botocore.test_bedrock_agents.* @DataDog/ml-observ
233235
tests/snapshots/tests.contrib.botocore.test_bedrock.* @DataDog/ml-observability
234236
tests/snapshots/tests.contrib.google_adk.* @DataDog/ml-observability
235237
tests/snapshots/tests.contrib.google_generativeai.* @DataDog/ml-observability
238+
tests/snapshots/tests.contrib.mistralai.* @DataDog/ml-observability
236239
tests/snapshots/tests.contrib.langgraph.* @DataDog/ml-observability
237240
tests/snapshots/tests.contrib.crewai.* @DataDog/ml-observability
238241
tests/snapshots/tests.contrib.openai_agents.* @DataDog/ml-observability
@@ -332,10 +335,6 @@ tests/tracer/test_propagation.py @DataDog/apm-sdk-capabilities-python @Da
332335
docker/Dockerfile.fuzz @DataDog/chaos-engineering @DataDog/profiling-python
333336

334337
# Supported versions
335-
supported_versions_table.csv @DataDog/apm-core-python @DataDog/apm-idm-python
336-
supported_versions_output.json @DataDog/apm-core-python @DataDog/apm-idm-python
338+
supported_versions.json @DataDog/apm-core-python @DataDog/apm-idm-python
337339
scripts/integration_registry/registry.yaml @DataDog/apm-core-python @DataDog/apm-idm-python
338-
339-
# Tested versions
340-
tested_versions.json @DataDog/apm-core-python @DataDog/apm-idm-python
341-
scripts/tested_versions/* @DataDog/apm-core-python @DataDog/apm-idm-python
340+
scripts/integration_registry/generate_supported_versions.py @DataDog/apm-core-python @DataDog/apm-idm-python

.github/PULL_REQUEST_TEMPLATE/python_315_bump.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ This PR enables the **`<integration>`** integration on Python 3.15.
2323
- [ ] Lifted `max_version="3.13"` / `"3.14"` cap on the affected venv(s) (if present)
2424
- [ ] Ran `riot generate <suite-pattern>` and committed the regenerated `.riot/requirements/*.txt` lockfiles
2525
- [ ] Ran the suite locally on 3.15 via `scripts/run-tests <suite>` (paste a link or summary of the result)
26-
- [ ] Updated `supported_versions_table.csv` / `supported_versions_output.json` if integration min/max versions changed
26+
- [ ] Updated `supported_versions.json` if integration min/max versions changed
2727
- [ ] Release note added under `releasenotes/notes/`, **or** PR labeled `changelog/no-changelog` (test/CI-only changes)
2828

2929
## Testing

.github/scripts/should-run.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ is_ignored() {
4949
[[ "$f" == scripts/iast/* ]] && return 0
5050
[[ "$f" == scripts/import-analysis/* ]] && return 0
5151
[[ "$f" == scripts/integration_registry/* ]] && return 0
52-
[[ "$f" == scripts/tested_versions/* ]] && return 0
5352
[[ "$f" == scripts/profiles/* ]] && return 0
5453
[[ "$f" == scripts/trace_flares/* ]] && return 0
5554
[[ "$f" == scripts/vcr/* ]] && return 0

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

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,19 @@ jobs:
6464
run: |
6565
curl https://dd-trace-py-builds.s3.amazonaws.com/main/install.sh | bash
6666
67-
- run: python scripts/freshvenvs.py generate
67+
- name: Generate supported versions
68+
run: python scripts/integration_registry/generate_supported_versions.py
6869

69-
- name: Generate table
70-
run: python scripts/generate_table.py
70+
- name: Preview supported versions output
71+
run: |
72+
python - <<'PY'
73+
import json
74+
from pathlib import Path
75+
76+
supported_versions = json.loads(Path("supported_versions.json").read_text())
77+
print(f"Generated {len(supported_versions)} supported version entries.")
78+
print(json.dumps(supported_versions[:3], indent=2))
79+
PY
7180
7281
- run: git diff
7382

@@ -83,12 +92,12 @@ jobs:
8392
with:
8493
token: ${{ steps.octo-sts.outputs.token }}
8594
branch: "update-supported-versions"
86-
commit-message: "Update supported versions table"
95+
commit-message: "Update supported versions"
8796
delete-branch: true
8897
base: main
8998
title: "chore: update supported versions"
9099
labels: changelog/no-changelog
91100
body: |
92-
Generates / updates the supported versions table for integrations.
101+
Generates / updates the supported versions for integrations.
93102
This should be tied to releases, or triggered manually.
94103
Workflow runs: [Generate Supported Integration Versions](https://github.com/DataDog/dd-trace-py/actions/workflows/generate-supported-versions.yml)

.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@9daccd578f30ad15d66011b3550f4f35b2e9be52
98+
uses: DataDog/system-tests/.github/workflows/system-tests.yml@77e6da9b53639436525bf7bfb076723e18e102c3
9999
secrets: inherit
100100
with:
101101
library: python_lambda
102-
ref: '9daccd578f30ad15d66011b3550f4f35b2e9be52'
102+
ref: '77e6da9b53639436525bf7bfb076723e18e102c3'
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@9daccd578f30ad15d66011b3550f4f35b2e9be52
129+
uses: DataDog/system-tests/.github/workflows/system-tests.yml@77e6da9b53639436525bf7bfb076723e18e102c3
130130
secrets: inherit
131131
with:
132132
library: python
133-
ref: '9daccd578f30ad15d66011b3550f4f35b2e9be52'
133+
ref: '77e6da9b53639436525bf7bfb076723e18e102c3'
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@9daccd578f30ad15d66011b3550f4f35b2e9be52
141+
uses: DataDog/system-tests/.github/workflows/system-tests.yml@77e6da9b53639436525bf7bfb076723e18e102c3
142142
with:
143143
library: python
144-
ref: '9daccd578f30ad15d66011b3550f4f35b2e9be52'
144+
ref: '77e6da9b53639436525bf7bfb076723e18e102c3'
145145
binaries_artifact: wheels-manylinux_x86_64
146146
desired_execution_time: 900
147147
scenarios_groups: tracer-release

.gitlab-ci.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ variables:
1616
DD_VPA_TEMPLATE: "vpa-template-cpu-p70-10percent-2x-oom-min-cap"
1717
# CI_DEBUG_SERVICES: "true"
1818
# Automatically managed, use scripts/update-system-tests-version to update
19-
SYSTEM_TESTS_REF: "9daccd578f30ad15d66011b3550f4f35b2e9be52"
19+
SYSTEM_TESTS_REF: "77e6da9b53639436525bf7bfb076723e18e102c3"
2020

2121
# Profiling native build image (built from dd/images/dd-trace-py/profiling_native)
2222
PROFILING_NATIVE_IMAGE: "registry.ddbuild.io/dd-trace-py:v103334885-be1888c-profiling_native"
@@ -309,7 +309,7 @@ check_requirements_lockfiles:
309309
KUBERNETES_MEMORY_REQUEST: "8Gi"
310310
KUBERNETES_MEMORY_LIMIT: "8Gi"
311311
script:
312-
- pip install toml==0.10.2
312+
- pip install toml==0.10.2 pyyaml==6.0.2
313313
- scripts/compile-and-prune-test-requirements
314314
- scripts/check-diff '.riot/requirements/' 'Mismatches found between .riot/requirements/*.txt and riotfile.py. Run scripts/compile-and-prune-test-requirements and commit the result.'
315315
- python scripts/requirements_to_csv.py
@@ -376,6 +376,10 @@ detect_circular_imports:
376376
stage: tests
377377
needs: []
378378
extends: .testrunner
379+
rules:
380+
- if: $RELEASE_ALLOW_TEST_FAILURES == "true"
381+
allow_failure: true
382+
- allow_failure: false
379383
script:
380384
- pip install uv
381385
- cd ..

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ experiments:
163163
- max_rss_usage < 61.00 MB
164164
- name: errortrackingflasksqli-errortracking-enabled-user
165165
thresholds:
166-
- execution_time < 2.25 ms
166+
- execution_time < 2.85 ms
167167
- max_rss_usage < 61.00 MB
168168
- name: errortrackingflasksqli-tracer-enabled
169169
thresholds:

.gitlab/package.yml

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -392,20 +392,12 @@ download_dependency_wheels:
392392
tags: [ "arch:amd64" ]
393393
stage: package
394394
script:
395-
# Prevent git operation errors when the GitLab executor sees the checkout as owned by another user.
396-
- git config --global --add safe.directory "${CI_PROJECT_DIR}"
397-
- BASE_PACKAGE_VERSION=$(python -c "import tomllib; print(tomllib.load(open('pyproject.toml', 'rb'))['project']['version'])")
398-
- PACKAGE_VERSION="${BASE_PACKAGE_VERSION}"
399-
- |
400-
if [[ -z "${CI_COMMIT_TAG:-}" && "${BASE_PACKAGE_VERSION}" != *+* ]]; then
401-
PACKAGE_VERSION="${BASE_PACKAGE_VERSION}+g$(git rev-parse --short=7 HEAD)"
402-
fi
395+
- PACKAGE_VERSION=$(python -c "import tomllib; print(tomllib.load(open('pyproject.toml', 'rb'))['project']['version'])")
403396
- echo "PACKAGE_VERSION=${PACKAGE_VERSION}" | tee -a package_version.env
404-
- echo "BASE_PACKAGE_VERSION=${BASE_PACKAGE_VERSION}" | tee -a package_version.env
405-
# Validate commit tag matches base version if tag is set
397+
# Validate commit tag matches version if tag is set
406398
- |
407399
if [ -n "${CI_COMMIT_TAG:-}" ]; then
408-
EXPECTED_TAG="v${BASE_PACKAGE_VERSION}"
400+
EXPECTED_TAG="v${PACKAGE_VERSION}"
409401
if [ "${CI_COMMIT_TAG}" != "${EXPECTED_TAG}" ]; then
410402
echo "[ERROR] CI_COMMIT_TAG (${CI_COMMIT_TAG}) does not match expected tag (${EXPECTED_TAG})"
411403
exit 1

.gitlab/services.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
DD_DISABLE_ERROR_RESPONSES: true
2727
ENABLED_CHECKS: trace_content_length,trace_stall,meta_tracer_version_header,trace_count_header,trace_peer_service,trace_dd_service
2828
SNAPSHOT_IGNORED_ATTRS: span_id,trace_id,parent_id,duration,start,metrics.system.pid,metrics.system.process_id,metrics.process_id,meta.runtime-id,meta._dd.p.tid,meta.pathway.hash,metrics._dd.tracer_kr,meta._dd.parent_id,meta.kafka.cluster_id,meta._dd.git.repository_url
29-
VCR_PROVIDER_MAP: azure_openai=https://llmobs-test-resource.openai.azure.com/
29+
VCR_PROVIDER_MAP: azure_openai=https://llmobs-test-resource.openai.azure.com/,mistral=https://api.mistral.ai/
3030
mongo:
3131
name: registry.ddbuild.io/images/mirror/mongo:6.0.5
3232
alias: mongo

.riot/requirements/11193ae.txt

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
#
2+
# This file is autogenerated by pip-compile with Python 3.10
3+
# by the following command:
4+
#
5+
# pip-compile --allow-unsafe --no-annotate .riot/requirements/11193ae.in
6+
#
7+
annotated-types==0.7.0
8+
anyio==4.13.0
9+
attrs==26.1.0
10+
backports-asyncio-runner==1.2.0
11+
certifi==2026.5.20
12+
coverage[toml]==7.14.1
13+
eval-type-backport==0.4.0
14+
exceptiongroup==1.3.1
15+
h11==0.16.0
16+
httpcore==1.0.9
17+
httpx==0.28.1
18+
hypothesis==6.45.0
19+
idna==3.18
20+
importlib-metadata==8.7.1
21+
iniconfig==2.3.0
22+
jsonpath-python==1.1.6
23+
mistralai==2.4.9
24+
mock==5.2.0
25+
opentelemetry-api==1.39.1
26+
opentelemetry-semantic-conventions==0.60b1
27+
opentracing==2.4.0
28+
packaging==26.2
29+
pluggy==1.6.0
30+
pydantic==2.13.4
31+
pydantic-core==2.46.4
32+
pygments==2.20.0
33+
pytest==9.0.3
34+
pytest-asyncio==1.4.0
35+
pytest-cov==7.1.0
36+
pytest-mock==3.15.1
37+
python-dateutil==2.9.0.post0
38+
six==1.17.0
39+
sortedcontainers==2.4.0
40+
tomli==2.4.1
41+
typing-extensions==4.15.0
42+
typing-inspection==0.4.2
43+
zipp==4.1.0

0 commit comments

Comments
 (0)