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.39.0 #4373

Merged
merged 48 commits into from
Jun 5, 2024
Merged

v4.39.0 #4373

merged 48 commits into from
Jun 5, 2024

Conversation

juan-fernandez
Copy link
Collaborator

@juan-fernandez juan-fernandez commented Jun 4, 2024

Improvements

  • Remove outdated polyfills #4009
  • Update native-appsec module to 8.0.1 #4347
  • profiler supports activation through single-step instrumentation #4375

Features

  • [ci-visibility] Support mocha parallel mode#4314

Bug fixes

  • [ci-visibility] Fix EFD with jest and jsdom #4323
  • [ci-visibility] Fix selenium when run outside of a supported test framework#4330

juan-fernandez and others added 30 commits June 4, 2024 18:31
* OnBoarding tests: fix gitlab pipeline
* fix patching behavior for require-in-the-middle

* add unit test for require in the middle

* address lint errors

* revert changes to ritm and fix unit tests

* remove self

* properly set up and tear down ritm unit tests

* remove duplicate instances of origRequire

* Revert "remove duplicate instances of origRequire"

This reverts commit 6ab0b8f.

* move location of _origRequire
Previously, non-programmatic tracer initialization was done via a
combination of several command-line options, depending on whether ESM
support is required, and what version of Node.js.

This has now been consolidated to a single `initialize.mjs` file, which
can be used either with the `--loader` option, or the `--import` option.
In either case, it will initialize both the tracer and the ESM loader
hook. For versions of Node.js prior to 20.6.0, the `--loader` option
must be used. For versions after that, either may be used, but
`--import` is preferred, since the `--loader` option will eventually be
deprecated, and emits a warning as such already.

All previous behavior, and related files, are preserved, so this is a
semver-minor change.

For now, docs are not included, since the current README does not even
address non-programmatic initialization.

Future work (for future PRs):
* Have `.init()` also call `register()` for the loader hook if it hasn't
  been registered, so that CLI options become unnecessary for ESM
  support in Node.js
* Allow programmatic config when using non-programmatic initialization.
* OCI package building

* fix paths

* correct tarball name

* use --prefix

* minor cleanup

* Add internal publishing

* copy/paste error
* remove ipaddr.js

* remove node-abort-controller

* remove methods
* Bump @datadog/native-appsec to v8.0.1

* Move action state keeping to waf. Handle new result actions

* Removed unused type argument in block function

* Lint

* Handle waf result in graphql

* Check blocking action

* Refactor handle waf result

* Refactor isBlockingAction

* Remove batchConfiguration thing.

* Optional chaining in conditionals

* Remove unrelated change in yarn.lock

* Fix return from waf run stub when no actions in result

* Rephrase test

* Fix waf actions test

* Get blocking action test with empty object instead undefined
* impl

* fix impl + test

* finish on error non-streamed case

* lint

* finish on streamed response error as well

* finish in streamed case
szegedi and others added 11 commits June 4, 2024 18:37
* add tracer flare

* revert no longer needed change
* parallelize next plugin test

* also parallelize in appsec, and use OLDEST_NODE env var
#4360)

* implement fix

* add test

* remove .only

* make adding chunks more dynamic

* add comment
* added rc support for sampling rules

* run system test

* Update config.spec.js

* add rc capability and update code styling

* removed unnessary check

* add unit test

* unit test fix

* fix lint errors

* fix lint error

* Update packages/dd-trace/test/config.spec.js

Co-authored-by: simon-id <[email protected]>

* simplified code

* ignore sampling rules tags for now

* fix lint errors

* remove unnecessary comments and ci command

---------

Co-authored-by: simon-id <[email protected]>
* simplify system tests execution

* parallelize essential system tests

* generate system-test scenarios from system-tests repo
* An OTEL_LOG_LEVEL of debug should also be mapped to  DD_TRACE_DEBUG=true
---------

Co-authored-by: Carles Capell <[email protected]>
Copy link

github-actions bot commented Jun 4, 2024

Overall package size

Self size: 6.62 MB
Deduped: 61.88 MB
No deduping: 62.16 MB

Dependency sizes

name version self size total size
@datadog/native-appsec 8.0.1 15.59 MB 15.6 MB
@datadog/native-iast-taint-tracking 2.1.0 14.91 MB 14.92 MB
@datadog/pprof 5.3.0 9.85 MB 10.22 MB
protobufjs 7.2.5 2.77 MB 6.56 MB
@datadog/native-iast-rewriter 2.3.1 2.15 MB 2.24 MB
@opentelemetry/core 1.14.0 872.87 kB 1.47 MB
@datadog/native-metrics 2.0.0 898.77 kB 1.3 MB
@opentelemetry/api 1.8.0 1.21 MB 1.21 MB
import-in-the-middle 1.7.4 70.19 kB 739.86 kB
msgpack-lite 0.1.26 201.16 kB 281.59 kB
opentracing 0.14.7 194.81 kB 194.81 kB
semver 7.5.4 93.4 kB 123.8 kB
pprof-format 2.1.0 111.69 kB 111.69 kB
@datadog/sketches-js 2.1.0 109.9 kB 109.9 kB
lodash.sortby 4.7.0 75.76 kB 75.76 kB
lru-cache 7.14.0 74.95 kB 74.95 kB
ignore 5.2.4 51.22 kB 51.22 kB
int64-buffer 0.1.10 49.18 kB 49.18 kB
shell-quote 1.8.1 44.96 kB 44.96 kB
istanbul-lib-coverage 3.2.0 29.34 kB 29.34 kB
tlhunter-sorted-set 0.1.0 24.94 kB 24.94 kB
limiter 1.1.5 23.17 kB 23.17 kB
dc-polyfill 0.1.4 23.1 kB 23.1 kB
retry 0.13.1 18.85 kB 18.85 kB
jest-docblock 29.7.0 8.99 kB 12.76 kB
crypto-randomuuid 1.0.0 11.18 kB 11.18 kB
path-to-regexp 0.1.7 6.78 kB 6.78 kB
koalas 1.0.2 6.47 kB 6.47 kB
module-details-from-path 1.0.3 4.47 kB 4.47 kB

🤖 This report was automatically generated by heaviest-objects-in-the-universe

@pr-commenter
Copy link

pr-commenter bot commented Jun 4, 2024

Benchmarks

Benchmark execution time: 2024-06-05 13:41:51

Comparing candidate commit fbaa9ac in PR branch v4.39.0-proposal with baseline commit 829081d in branch v4.x.

Found 2 performance improvements and 1 performance regressions! Performance is the same for 780 metrics, 15 unstable metrics.

scenario:async_hooks-init-only-16

  • 🟩 max_event_loop_delay [-45.172ms; -31.090ms] or [-12.205%; -8.400%]
  • 🟩 max_gc_pause [-17.956ms; -12.139ms] or [-24.553%; -16.599%]

scenario:log-with-debug-20

  • 🟥 cpu_user_time [+17.373ms; +26.187ms] or [+5.303%; +7.994%]

Copy link
Member

@tlhunter tlhunter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like we're missing the package.json version commit?

crysmags and others added 6 commits June 5, 2024 12:29
…ons when not provided (#4366)

* usage is included in the body

* completion tokens

* capture usage from chunk

* impl

* add tests

* simplify count tokens

* cleanup, comments
* implent w3c phase 3
…SSI profiling (#4375)

* Recognize DD_PROFILING_ENABLED=auto as an alternative to DD_INJECTION_ENABLED=profiler

* Fix incorrect use of 'profiling' in DD_INJECTION_ENABLED, rely on already established env properties.
@juan-fernandez juan-fernandez marked this pull request as ready for review June 5, 2024 13:44
@juan-fernandez juan-fernandez requested a review from a team as a code owner June 5, 2024 13:44
@juan-fernandez juan-fernandez requested a review from tlhunter June 5, 2024 13:44
Copy link
Contributor

@szegedi szegedi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good to go from profiling! 🚢

Copy link
Contributor

@szegedi szegedi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good to go from profiling! 🚢

@juan-fernandez juan-fernandez merged commit c34d01c into v4.x Jun 5, 2024
137 checks passed
@juan-fernandez juan-fernandez deleted the v4.39.0-proposal branch June 5, 2024 16:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.