Skip to content

V5.22.0 proposal#4641

Merged
bengl merged 27 commits intov5.xfrom
v5.22.0-proposal
Aug 30, 2024
Merged

V5.22.0 proposal#4641
bengl merged 27 commits intov5.xfrom
v5.22.0-proposal

Conversation

@bengl
Copy link
Copy Markdown
Collaborator

@bengl bengl commented Aug 29, 2024

Fixes

Features

Improvements

Excluded from Release notes

sabrenner and others added 27 commits August 29, 2024 13:16
* wrap in appropriate async resource

* test

* trigger ci

* remove .only

* lint

* slim tests

* v3 patching uses tracing channel directly

* add v4 patching using tracing channel internal api

* fixes and cleanup
While _functioning_ correctly, the logging and telemetry was broken for
packages that met one range, but didn't meet a subsequent range. This is
now fixed.
* log.error() calls should go to telemetry

* remove unneccessary telemetry log calls
* Telemetry emission and heuristics are now independent.
* profiling.enabled is four-state now (true, false, auto, undefined)
* Adds injectionEnabled config
* Removes profiling.{ssi, heuristicsEnabled} config.
* Move derived telemetry.logCollection value computation to _applyCalculated()
* Tidy _merge()
* add a safety layer to shimmed functions

* tests

* make it work with recursion

* wrap only once per function instead of per invocation

* lint

* hoist error handler, to be once per function instead of per invocation

* no need to delete holder values since the variable isn't re-used anymore

* cleanup

* safeWrap non-methods

* ensure wrapFunction is used whenever wrap was used with 2 args

* fix package guadrails test
prevent git directory from being uploaded as part of systems tests
* add missing `clearTimeout`

* gate timeout spans under `lambda`

* add unit tests

* add comment on when we can disable it
* fix: remove async scope in hapi dd-instrumentation
* fix linting
* replace asyncResource for tracingChannel
* move tracing channels to helpers
* add test
* remove tracingChannel map

---------

Co-authored-by: Cris Naranjo <cris@yulife.com>
This is a temporary fix until v22.8.0 is released due to a bug in
v22.7.0: nodejs/node#54518
Allow integration tests to mock the remote config abilities of the agent.

This is done by first setting up a new remote config "file" using the new
`FakeAgent#addRemoteConfig` method before running the main part of the
integration test. This primes the fake agent to respond with this config for
http requests to the `/v0.7/config` endpoint.
These were the remaining areas with non-trivial code that might not be
caught by try/catches when our code throws an exception. Adding
`wrapFunction` adds that try/catch appropriately, but only when SSI is
enabled. Otherwise these are all passthroughs. In the future, we may
enable those try/catches at all times.
* Bump @datadog/native-appsec to 8.1.0

* Bump @datadog/native-appsec to 8.1.1
@bengl bengl requested a review from a team as a code owner August 29, 2024 18:23
@github-actions
Copy link
Copy Markdown
Contributor

Overall package size

Self size: 6.99 MB
Deduped: 61.29 MB
No deduping: 61.57 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------| | @datadog/native-appsec | 8.1.1 | 18.67 MB | 18.68 MB | | @datadog/native-iast-taint-tracking | 3.1.0 | 12.27 MB | 12.28 MB | | @datadog/pprof | 5.3.0 | 9.85 MB | 10.22 MB | | protobufjs | 7.2.5 | 2.77 MB | 5.16 MB | | @datadog/native-iast-rewriter | 2.4.1 | 2.14 MB | 2.23 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.8.1 | 71.67 kB | 785.15 kB | | msgpack-lite | 0.1.26 | 201.16 kB | 281.59 kB | | opentracing | 0.14.7 | 194.81 kB | 194.81 kB | | pprof-format | 2.1.0 | 111.69 kB | 111.69 kB | | @datadog/sketches-js | 2.1.0 | 109.9 kB | 109.9 kB | | semver | 7.6.3 | 95.82 kB | 95.82 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.3.1 | 51.46 kB | 51.46 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

@codecov
Copy link
Copy Markdown

codecov Bot commented Aug 29, 2024

Codecov Report

Attention: Patch coverage is 77.86885% with 27 lines in your changes missing coverage. Please review.

Please upload report for BASE (v5.x@725f161). Learn more about missing BASE report.

Files with missing lines Patch % Lines
packages/datadog-instrumentations/src/couchbase.js 10.00% 9 Missing ⚠️
packages/datadog-instrumentations/src/cucumber.js 0.00% 5 Missing ⚠️
packages/dd-trace/src/appsec/telemetry.js 0.00% 3 Missing ⚠️
packages/datadog-plugin-openai/src/index.js 94.87% 2 Missing ⚠️
packages/dd-trace/src/appsec/graphql.js 0.00% 2 Missing ⚠️
packages/datadog-instrumentations/src/openai.js 96.42% 1 Missing ⚠️
packages/datadog-instrumentations/src/pg.js 0.00% 1 Missing ⚠️
packages/datadog-plugin-hapi/src/index.js 50.00% 1 Missing ⚠️
packages/dd-trace/src/appsec/blocking.js 85.71% 1 Missing ⚠️
packages/dd-trace/src/appsec/iast/iast-log.js 0.00% 1 Missing ⚠️
... and 1 more
Additional details and impacted files
@@           Coverage Diff           @@
##             v5.x    #4641   +/-   ##
=======================================
  Coverage        ?   66.98%           
=======================================
  Files           ?      151           
  Lines           ?     5582           
  Branches        ?       33           
=======================================
  Hits            ?     3739           
  Misses          ?     1843           
  Partials        ?        0           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Copy Markdown
Collaborator

@juan-fernandez juan-fernandez left a comment

Choose a reason for hiding this comment

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

thanks! Looks good from test visibility's perspective

@szegedi
Copy link
Copy Markdown
Contributor

szegedi commented Aug 30, 2024

I swapped "Emit SSI information in the profile system info" (moved it into the improvements) and "Slim SSI metadata from 3 elements to 2" (moved it into excluded.) Did it for the 4.46.0 too.

Copy link
Copy Markdown
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.

Looks good for profiler-related changes.

@bengl bengl merged commit afe7528 into v5.x Aug 30, 2024
@bengl bengl deleted the v5.22.0-proposal branch August 30, 2024 17:46
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.