Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v4.53.0 proposal #5030

Merged
merged 75 commits into from
Dec 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
8d4facf
fix baggage extraction (#4935)
ida613 Nov 26, 2024
54a44ed
Fix IAST standalone sampling priority propagation (#4927)
CarlesDD Nov 27, 2024
33c4614
[test optimization] Add Dynamic Instrumentation to jest retries (#4876)
juan-fernandez Nov 27, 2024
f88f59b
add runtime version to crash report metadata (#4948)
rochdev Nov 27, 2024
29453de
update guardrails to report telemetry in old node versions (#4949)
rochdev Nov 27, 2024
8f86607
[test optimization] Fix logic to bypass jest's require cache (#4950)
juan-fernandez Nov 28, 2024
dde9b6b
[test optimization] Do not init on package managers (#4946)
juan-fernandez Nov 28, 2024
ff44ef6
Fix original url instanceOf url.URL (#4955)
uurien Nov 28, 2024
e50a47e
use weakmap to avoid references from node to datadog stores (#4953)
rochdev Nov 28, 2024
9e2b00b
[test optimization] Add Dynamic Instrumentation to mocha retries (#4…
juan-fernandez Dec 2, 2024
dfa8662
Protect req.socket.remoteAddress in appsec reporter (#4954)
uurien Dec 2, 2024
75103c4
fix(config): test for completeness of config telemetry (#4941)
bm1549 Dec 2, 2024
b7de158
fix mysql2 3.11.5 support (#4962)
rochdev Dec 2, 2024
0ac50c1
[test optimization] Add dynamic instrumentation support for cucumber …
juan-fernandez Dec 3, 2024
ace6b8e
[test optimization] Add Dynamic Instrumentation support for Vitest (#…
juan-fernandez Dec 3, 2024
fde3634
[DI] Adhere to diagnostics JSON schema (version -> probeVersion) (#4964)
watson Dec 3, 2024
7bba345
Use sampling on timeline events (#4861)
szegedi Dec 3, 2024
ae0ecc3
remove try catch from iast plugin (#4804)
IlyasShabi Dec 3, 2024
5fe02c9
Explain why keeping query in http end translator (#4967)
IlyasShabi Dec 5, 2024
9a459d1
fix next esm tests installing wrong version of react (#4973)
rochdev Dec 5, 2024
927e771
modernize eslint config (#4759)
bengl Dec 5, 2024
7590a1b
fix next test using an incompatible version of react (#4977)
rochdev Dec 6, 2024
40763d6
Bump path-to-regexp from v0.1.10 to v0.1.12 (#4979)
watson Dec 6, 2024
e84ab7f
Delete unused benchmark for profiler (#4978)
watson Dec 6, 2024
e965fb8
fix guardrail on node version outside of ssi (#4974)
rochdev Dec 6, 2024
d9ca67e
make sampling rule matching case insensitive (#4972)
ida613 Dec 8, 2024
80acf47
[test optimization] Fix test name extraction in playwright (#4981)
juan-fernandez Dec 10, 2024
c173de5
Force update of nanoid to 3.3.8 (#4986)
uurien Dec 10, 2024
59eb64b
Express 5 Instrumentation (#4913)
IlyasShabi Dec 10, 2024
a5d7372
Update @datadog/native-iast-rewriter to 2.6.0 to support optional cha…
uurien Dec 11, 2024
7f640ee
install node22 (#4985)
faydef Dec 11, 2024
d2464fa
Add support for endpoint_counts (#4980)
szegedi Dec 11, 2024
685ba8f
[DI] Handle async errors in mocha tests (#4991)
watson Dec 11, 2024
ddb7467
Ensure the fake agent in integration tests doesn't swallow exceptions…
watson Dec 11, 2024
297c5c5
[DI] Ensure the tracer doesn't block instrumented app from exiting (#…
watson Dec 11, 2024
04ddb8f
[DI] Improve separation between RC and breakpoint logic (#4992)
watson Dec 11, 2024
969d287
Fix numbers stated in benchmark README.md (#5002)
watson Dec 12, 2024
bca561f
Add summary.json to the benchmark .gitignore file (#5003)
watson Dec 12, 2024
891579f
[DI] Improve test setup by allowing breakpoint URL to be dynamic (#4996)
watson Dec 12, 2024
ff80559
Add Support for DD_DOGSTATSD_HOST (#4989)
mhlidd Dec 12, 2024
7d50064
update pyenv (#5005)
faydef Dec 12, 2024
69e6e21
enable log collection & log calls review (#4932)
iunanua Dec 12, 2024
36c752f
[DI] Add support for sampling (#4998)
watson Dec 12, 2024
42ec1c3
clarify startup benchmark (#3019)
bengl Dec 12, 2024
13f732a
remove dependency on msgpack-lite (#4969)
rochdev Dec 12, 2024
8cac62b
speed up shimmer by about 50x (#4633)
bengl Dec 12, 2024
aa83507
telemetry: increment .count when deduping telemetry logs (#5001)
tlhunter Dec 12, 2024
9d04c90
copy prototypes in shimmer where necessary (#5009)
bengl Dec 12, 2024
bd9f803
[DI] Clean up all logs emitted by the debugger (#5008)
watson Dec 13, 2024
9431f01
Fix flaky dns and net timeline event tests (#5011)
szegedi Dec 13, 2024
5bf847e
[DI] Improve sampling tests (#4999)
watson Dec 13, 2024
e02ab92
run benchmarks also on node 20 and 22 (#4975)
rochdev Dec 13, 2024
8f221b4
use gc observer for gc runtime metrics when available (#4961)
rochdev Dec 13, 2024
6925500
telemetry: make count logic faster (#5013)
tlhunter Dec 13, 2024
aa8f4be
Verify yaml (#4639)
bengl Dec 13, 2024
6d22bf4
Test aerospike node 16 with ubuntu-22.04 (#5017)
uurien Dec 16, 2024
ce8238f
Upgrade iast rewriter version to 2.6.1 (#5010)
iunanua Dec 16, 2024
f1d329c
Add some checks to avoid runtime errors (#4945)
iunanua Dec 16, 2024
d3579e5
New automatic user event collection (#4674)
simon-id Dec 16, 2024
09531a9
consolidate instances of `loadInst`, so code isn't repeated (#5020)
bengl Dec 16, 2024
3cc407a
repo: mandatory issue templates (#5023)
tlhunter Dec 17, 2024
88c51e1
update native-metrics to 3.1.0 (#5022)
rochdev Dec 17, 2024
f127753
enable crashtracking by default outside of ssi (#5026)
rochdev Dec 17, 2024
8755038
[test optimization] [SDTEST-1332] Fetch `di_enabled` flag (#5006)
juan-fernandez Dec 18, 2024
cd9bb34
[DI] Associate probe results with active span (#5035)
watson Dec 18, 2024
b0e246d
[DI] Improve trace/span-id probe results tests (#5036)
watson Dec 18, 2024
666c1eb
Support tainted strings coming from database for SQLi, SSTi and Code …
uurien Dec 18, 2024
3fec293
K8s tests: Run on parallel matrix (#5038)
robertomonteromiguel Dec 18, 2024
919e43c
set node types minimum version to oldest (#5029)
rochdev Dec 18, 2024
9e78ed8
[serverless] Add DynamoDB Span Pointers (#4912)
nhulston Dec 18, 2024
0f858e3
update package size job to node 20 (#5040)
rochdev Dec 18, 2024
97ca5a1
fix runtime metrics test not waiting for gc observer to run (#5039)
rochdev Dec 18, 2024
3b7567b
repo: ask for config details on bug creation (#5027)
tlhunter Dec 18, 2024
ded1bd2
update type tests to typescript 4.9.4 (#5041)
rochdev Dec 18, 2024
c82a7f2
v4.53.0
rochdev Dec 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 0 additions & 12 deletions .eslintignore

This file was deleted.

46 changes: 0 additions & 46 deletions .eslintrc.json

This file was deleted.

71 changes: 71 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: "Bug Report (Low Priority)"
description: "Create a public Bug Report. Note that these may not be addressed as quickly as the helpdesk and that looking up account information will be difficult."
title: "[BUG]: "
labels: bug
body:
- type: input
attributes:
label: Tracer Version(s)
description: "Version(s) of the tracer affected by this bug"
placeholder: 1.2.3, 4.5.6
validations:
required: true

- type: input
attributes:
label: Node.js Version(s)
description: "Version(s) of Node.js (`node --version`) that you've encountered this bug with"
placeholder: 20.1.1
validations:
required: true

- type: textarea
attributes:
label: Bug Report
description: Please add a clear and concise description of the bug here
validations:
required: true

- type: textarea
attributes:
label: Reproduction Code
description: Please add code here to help us reproduce the problem
validations:
required: false

- type: textarea
attributes:
label: Error Logs
description: "Please provide any error logs from the tracer (`DD_TRACE_DEBUG=true` can help)"
validations:
required: false

- type: textarea
attributes:
label: Tracer Config
description: "Please provide the `tracer.init(config)` object and any applicable tracer environment variables"
validations:
required: false

- type: input
attributes:
label: Operating System
description: "Provide your operating system and version (e.g. `uname -a`)"
placeholder: Darwin Kernel Version 23.6.0
validations:
required: false

- type: dropdown
attributes:
label: Bundling
description: "How is your application being bundled"
options:
- Unsure
- No Bundling
- ESBuild
- Webpack
- Next.js
- Vite
- Rollup
validations:
required: true
11 changes: 5 additions & 6 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
blank_issues_enabled: true
blank_issues_enabled: false
contact_links:
- name: Bug Report
- name: Bug Report (High Priority)
url: https://help.datadoghq.com/hc/en-us/requests/new?tf_1260824651490=pt_product_type:apm&tf_1900004146284=pt_apm_language:node
about: This option creates an expedited Bug Report via the helpdesk (no login required). This will allow us to look up your account and allows you to provide additional information in private. Please do not create a GitHub issue to report a bug.
- name: Feature Request
about: Create an expedited Bug Report via the helpdesk (no login required). This will allow us to look up your account and allows you to provide additional information in private. Please do not create a GitHub issue to report a bug.
- name: Feature Request (High Priority)
url: https://help.datadoghq.com/hc/en-us/requests/new?tf_1260824651490=pt_product_type:apm&tf_1900004146284=pt_apm_language:node&tf_1260825272270=pt_apm_category_feature_request
about: This option creates an expedited Feature Request via the helpdesk (no login required). This helps with prioritization and allows you to provide additional information in private. Please do not create a GitHub issue to request a feature.

about: Create an expedited Feature Request via the helpdesk (no login required). This helps with prioritization and allows you to provide additional information in private. Please do not create a GitHub issue to request a feature.
50 changes: 50 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Feature Request (Low Priority)
description: Create a public Feature Request. Note that these may not be addressed as quickly as the helpdesk and that looking up account information will be difficult.
title: "[FEATURE]: "
labels: feature-request
body:
- type: input
attributes:
label: Package Name
description: "If your feature request is to add instrumentation support for an npm package please provide the name here"
placeholder: left-pad
validations:
required: false

- type: input
attributes:
label: Package Version(s)
description: "If your feature request is to add instrumentation support for an npm package please provide the version you use"
placeholder: 1.2.3
validations:
required: false

- type: textarea
attributes:
label: Describe the feature you'd like
description: A clear and concise description of what you want to happen.
validations:
required: true

- type: textarea
attributes:
label: Is your feature request related to a problem?
description: |
Please add a clear and concise description of your problem.
E.g. I'm unable to instrument my database queries...
validations:
required: false

- type: textarea
attributes:
label: Describe alternatives you've considered
description: A clear and concise description of any alternative solutions or features you've considered
validations:
required: false

- type: textarea
attributes:
label: Additional context
description: Add any other context or screenshots about the feature request here
validations:
required: false
2 changes: 1 addition & 1 deletion .github/workflows/appsec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ jobs:
version:
- 18
- latest
range: ['9.5.0', '11.1.4', '13.2.0', '>=14.0.0 <=14.2.6', '>=14.2.7 <15', '>=15.0.0']
range: ['>=10.2.0 <11', '>=11.0.0 <13', '11.1.4', '>=13.0.0 <14', '13.2.0', '>=14.0.0 <=14.2.6', '>=14.2.7 <15', '>=15.0.0']
runs-on: ubuntu-latest
env:
PLUGINS: next
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/package-size.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v2
uses: actions/setup-node@v4
with:
node-version: '16'
node-version: '20'
- run: yarn
- name: Compute module size tree and report
uses: qard/heaviest-objects-in-the-universe@v1
Expand Down
66 changes: 21 additions & 45 deletions .github/workflows/plugins.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,45 +15,30 @@ concurrency:


jobs:
aerospike-node-16:
runs-on: ubuntu-latest
services:
aerospike:
image: aerospike:ce-5.7.0.15
ports:
- "127.0.0.1:3000-3002:3000-3002"
env:
PLUGINS: aerospike
SERVICES: aerospike
PACKAGE_VERSION_RANGE: '>=4.0.0 <5.2.0'
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- run: yarn install --ignore-engines
- uses: ./.github/actions/node/oldest
- name: Install dependencies
if: env.MAJOR_VERSION == '4'
uses: ./.github/actions/install
- name: Run tests
if: env.MAJOR_VERSION == '4'
run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
- uses: codecov/codecov-action@v3

aerospike-node-18-20:
aerospike:
strategy:
matrix:
node-version: [16]
range: ['5.5.0 - 5.7.0']
range: ['>=4.0.0 <5.2.0']
aerospike-image: [ce-5.7.0.15]
test-image: [ubuntu-22.04]
include:
- node-version: 18
range: '>=5.2.0'
aerospike-image: ce-6.4.0.3
test-image: ubuntu-latest
- node-version: 20
range: '>=5.8.0'
runs-on: ubuntu-latest
range: '>=5.5.0'
aerospike-image: ce-6.4.0.3
test-image: ubuntu-latest
- node-version: 22
range: '>=5.12.1'
aerospike-image: ce-6.4.0.3
test-image: ubuntu-latest
runs-on: ${{ matrix.test-image }}
services:
aerospike:
image: aerospike:ce-6.4.0.3
image: aerospike:${{ matrix.aerospike-image }}
ports:
- "127.0.0.1:3000-3002:3000-3002"
env:
Expand All @@ -64,24 +49,13 @@ jobs:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
- uses: ./.github/actions/node/setup
- id: pkg
run: |
content=`cat ./package.json | tr '\n' ' '`
echo "json=$content" >> $GITHUB_OUTPUT
- id: extract
run: |
version="${{fromJson(steps.pkg.outputs.json).version}}"
majorVersion=$(echo "$version" | cut -d '.' -f 1)
echo "Major Version: $majorVersion"
echo "MAJOR_VERSION=$majorVersion" >> $GITHUB_ENV
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- run: yarn config set ignore-engines true
- name: Install dependencies
if: env.MAJOR_VERSION == '5'
uses: ./.github/actions/install
- name: Run tests
if: env.MAJOR_VERSION == '5'
run: yarn test:plugins:ci
- if: always()
uses: ./.github/actions/testagent/logs
Expand Down Expand Up @@ -285,6 +259,7 @@ jobs:
PLUGINS: couchbase
SERVICES: couchbase
PACKAGE_VERSION_RANGE: ${{ matrix.range }}
DD_INJECT_FORCE: 'true'
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/testagent/start
Expand Down Expand Up @@ -755,7 +730,7 @@ jobs:
version:
- 18
- latest
range: ['9.5.0', '11.1.4', '13.2.0', '>=14.0.0 <=14.2.6', '>=14.2.7 <15', '>=15.0.0']
range: ['>=10.2.0 <11', '>=11.0.0 <13', '11.1.4', '>=13.0.0 <14', '13.2.0', '>=14.0.0 <=14.2.6', '>=14.2.7 <15', '>=15.0.0']
runs-on: ubuntu-latest
env:
PLUGINS: next
Expand Down Expand Up @@ -825,6 +800,7 @@ jobs:
PLUGINS: oracledb
SERVICES: oracledb
DD_TEST_AGENT_URL: http://testagent:9126
DD_INJECT_FORCE: 'true'
# Needed to fix issue with `actions/checkout@v3: https://github.com/actions/checkout/issues/1590
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
steps:
Expand Down
16 changes: 12 additions & 4 deletions .github/workflows/project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
integration-guardrails:
strategy:
matrix:
version: [12.0.0, 12, 14.0.0, 14, 16.0.0, 16, 18.0.0, 18.1.0, 20.0.0, 22.0.0]
version: [12, 14.0.0, 14, 16.0.0, 16, 18.0.0, 18.1.0, 20.0.0, 22.0.0]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand All @@ -47,16 +47,17 @@ jobs:
integration-guardrails-unsupported:
strategy:
matrix:
version: ['0.8', '0.10', '0.12', '4', '6', '8', '10']
version: ['0.8', '0.10', '0.12', '4', '6', '8', '10', '12.0.0']
runs-on: ubuntu-latest
env:
DD_INJECTION_ENABLED: 'true'
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.version }}
- run: node ./init
- run: node ./init
env:
DD_INJECTION_ENABLED: 'true'

integration-ci:
strategy:
Expand Down Expand Up @@ -160,3 +161,10 @@ jobs:
- run: yarn type:test
- run: yarn type:doc

verify-yaml:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/node/setup
- uses: ./.github/actions/install
- run: node scripts/verify-ci-config.js
5 changes: 3 additions & 2 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,9 @@ onboarding_tests_installer:
SCENARIO: [ SIMPLE_INSTALLER_AUTO_INJECTION, SIMPLE_AUTO_INJECTION_PROFILING ]

onboarding_tests_k8s_injection:
variables:
WEBLOG_VARIANT: sample-app
parallel:
matrix:
- WEBLOG_VARIANT: sample-app

requirements_json_test:
rules:
Expand Down
6 changes: 6 additions & 0 deletions .gitlab/benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,12 @@ benchmark:
GROUP: 2
- MAJOR_VERSION: 20
GROUP: 3
- MAJOR_VERSION: 22
GROUP: 1
- MAJOR_VERSION: 22
GROUP: 2
- MAJOR_VERSION: 22
GROUP: 3
variables:
SPLITS: 3

Expand Down
Loading
Loading