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.22.0 proposal #4641

Merged
merged 27 commits into from
Aug 30, 2024
Merged

V5.22.0 proposal #4641

merged 27 commits into from
Aug 30, 2024

Conversation

bengl
Copy link
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
Copy link

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

Copy link

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
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
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
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
166 checks passed
@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.