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

v5.29.0 proposal #5031

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
25e7ac8
fix baggage extraction (#4935)
ida613 Nov 26, 2024
4c72d42
Fix IAST standalone sampling priority propagation (#4927)
CarlesDD Nov 27, 2024
3735b04
[test optimization] Add Dynamic Instrumentation to jest retries (#4876)
juan-fernandez Nov 27, 2024
63f785f
add runtime version to crash report metadata (#4948)
rochdev Nov 27, 2024
f94d5c0
update guardrails to report telemetry in old node versions (#4949)
rochdev Nov 27, 2024
580b2de
[test optimization] Fix logic to bypass jest's require cache (#4950)
juan-fernandez Nov 28, 2024
e45a2c0
[test optimization] Do not init on package managers (#4946)
juan-fernandez Nov 28, 2024
234468c
Fix original url instanceOf url.URL (#4955)
uurien Nov 28, 2024
e0c1b99
use weakmap to avoid references from node to datadog stores (#4953)
rochdev Nov 28, 2024
523c0a0
[test optimization] Add Dynamic Instrumentation to mocha retries (#4…
juan-fernandez Dec 2, 2024
eeb9192
Protect req.socket.remoteAddress in appsec reporter (#4954)
uurien Dec 2, 2024
9b9bf14
fix(config): test for completeness of config telemetry (#4941)
bm1549 Dec 2, 2024
519224b
fix mysql2 3.11.5 support (#4962)
rochdev Dec 2, 2024
d8c4b36
[test optimization] Add dynamic instrumentation support for cucumber …
juan-fernandez Dec 3, 2024
4db922b
[test optimization] Add Dynamic Instrumentation support for Vitest (#…
juan-fernandez Dec 3, 2024
e6c88cd
[DI] Adhere to diagnostics JSON schema (version -> probeVersion) (#4964)
watson Dec 3, 2024
6dca6c6
Use sampling on timeline events (#4861)
szegedi Dec 3, 2024
4e20571
remove try catch from iast plugin (#4804)
IlyasShabi Dec 3, 2024
39271e3
Explain why keeping query in http end translator (#4967)
IlyasShabi Dec 5, 2024
7998f9b
fix next esm tests installing wrong version of react (#4973)
rochdev Dec 5, 2024
0d8040e
modernize eslint config (#4759)
bengl Dec 5, 2024
1f5781a
fix next test using an incompatible version of react (#4977)
rochdev Dec 6, 2024
2955b4f
Bump path-to-regexp from v0.1.10 to v0.1.12 (#4979)
watson Dec 6, 2024
c764a16
Delete unused benchmark for profiler (#4978)
watson Dec 6, 2024
7adc695
fix guardrail on node version outside of ssi (#4974)
rochdev Dec 6, 2024
7d4b236
make sampling rule matching case insensitive (#4972)
ida613 Dec 8, 2024
771328f
[test optimization] Fix test name extraction in playwright (#4981)
juan-fernandez Dec 10, 2024
8949d95
Force update of nanoid to 3.3.8 (#4986)
uurien Dec 10, 2024
d8eaa55
Express 5 Instrumentation (#4913)
IlyasShabi Dec 10, 2024
a6085dd
Update @datadog/native-iast-rewriter to 2.6.0 to support optional cha…
uurien Dec 11, 2024
4c361d1
install node22 (#4985)
faydef Dec 11, 2024
7836ba6
Add support for endpoint_counts (#4980)
szegedi Dec 11, 2024
6d7c908
[DI] Handle async errors in mocha tests (#4991)
watson Dec 11, 2024
4e95f71
Ensure the fake agent in integration tests doesn't swallow exceptions…
watson Dec 11, 2024
bc5c154
[DI] Ensure the tracer doesn't block instrumented app from exiting (#…
watson Dec 11, 2024
32cfd06
[DI] Improve separation between RC and breakpoint logic (#4992)
watson Dec 11, 2024
001f4c7
Fix numbers stated in benchmark README.md (#5002)
watson Dec 12, 2024
9614aa4
Add summary.json to the benchmark .gitignore file (#5003)
watson Dec 12, 2024
b8ae0f4
[DI] Improve test setup by allowing breakpoint URL to be dynamic (#4996)
watson Dec 12, 2024
48179d1
Add Support for DD_DOGSTATSD_HOST (#4989)
mhlidd Dec 12, 2024
4562902
update pyenv (#5005)
faydef Dec 12, 2024
671517d
enable log collection & log calls review (#4932)
iunanua Dec 12, 2024
0d1ecaf
[DI] Add support for sampling (#4998)
watson Dec 12, 2024
7aa7ddb
clarify startup benchmark (#3019)
bengl Dec 12, 2024
c2f28d7
remove dependency on msgpack-lite (#4969)
rochdev Dec 12, 2024
2a8f191
speed up shimmer by about 50x (#4633)
bengl Dec 12, 2024
bbec3ec
telemetry: increment .count when deduping telemetry logs (#5001)
tlhunter Dec 12, 2024
8853e53
copy prototypes in shimmer where necessary (#5009)
bengl Dec 12, 2024
fab5404
[DI] Clean up all logs emitted by the debugger (#5008)
watson Dec 13, 2024
2f1c696
Fix flaky dns and net timeline event tests (#5011)
szegedi Dec 13, 2024
ade94ab
[DI] Improve sampling tests (#4999)
watson Dec 13, 2024
cc08322
run benchmarks also on node 20 and 22 (#4975)
rochdev Dec 13, 2024
063c13d
use gc observer for gc runtime metrics when available (#4961)
rochdev Dec 13, 2024
8fd83ac
telemetry: make count logic faster (#5013)
tlhunter Dec 13, 2024
eeea113
Verify yaml (#4639)
bengl Dec 13, 2024
d9ec63f
Test aerospike node 16 with ubuntu-22.04 (#5017)
uurien Dec 16, 2024
73edb08
Upgrade iast rewriter version to 2.6.1 (#5010)
iunanua Dec 16, 2024
c48353c
Add some checks to avoid runtime errors (#4945)
iunanua Dec 16, 2024
bf16a28
New automatic user event collection (#4674)
simon-id Dec 16, 2024
82fd555
consolidate instances of `loadInst`, so code isn't repeated (#5020)
bengl Dec 16, 2024
6f68d62
repo: mandatory issue templates (#5023)
tlhunter Dec 17, 2024
d82773f
update native-metrics to 3.1.0 (#5022)
rochdev Dec 17, 2024
b80345a
enable crashtracking by default outside of ssi (#5026)
rochdev Dec 17, 2024
378eba0
[test optimization] [SDTEST-1332] Fetch `di_enabled` flag (#5006)
juan-fernandez Dec 18, 2024
2f4b39e
[DI] Associate probe results with active span (#5035)
watson Dec 18, 2024
b86a6aa
[DI] Improve trace/span-id probe results tests (#5036)
watson Dec 18, 2024
b3db84b
Support tainted strings coming from database for SQLi, SSTi and Code …
uurien Dec 18, 2024
921a2e5
K8s tests: Run on parallel matrix (#5038)
robertomonteromiguel Dec 18, 2024
5a1b3bc
set node types minimum version to oldest (#5029)
rochdev Dec 18, 2024
c05c2c9
[serverless] Add DynamoDB Span Pointers (#4912)
nhulston Dec 18, 2024
8dbc7ed
update package size job to node 20 (#5040)
rochdev Dec 18, 2024
70d7669
fix runtime metrics test not waiting for gc observer to run (#5039)
rochdev Dec 18, 2024
7dea9c0
repo: ask for config details on bug creation (#5027)
tlhunter Dec 18, 2024
55df750
update type tests to typescript 4.9.4 (#5041)
rochdev Dec 18, 2024
cc1c419
v5.29.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 @@ -210,7 +210,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: '18'
node-version: '20'
- run: yarn
- name: Compute module size tree and report
uses: qard/heaviest-objects-in-the-universe@v1
Expand Down
77 changes: 22 additions & 55 deletions .github/workflows/plugins.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,54 +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
- 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: ./.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: [18]
range: ['5.2.0 - 5.7.0']
node-version: [16]
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 @@ -73,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 @@ -294,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 @@ -758,7 +724,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 @@ -828,6 +794,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 @@ -161,3 +162,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
Loading
Loading