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

Run tests in #4140 #4236

Draft
wants to merge 13 commits into
base: master
Choose a base branch
from
Draft

Run tests in #4140 #4236

wants to merge 13 commits into from

Conversation

juan-fernandez
Copy link
Collaborator

What does this PR do?

Motivation

Run tests in #4140

Plugin Checklist

Additional Notes

choult and others added 4 commits March 5, 2024 22:13
=============================================================

At time of writing, the
[documentation for the NodeJS tracing library](https://docs.datadoghq.com/database_monitoring/connect_dbm_and_apm/?tab=nodejs)
on the DataDog website states that to switch off DBM Propagation in the tracing of
database calls, the mode should be set to the value `none`.

This, however, leads to terminal hanging in the use of the mysql/mysql2 Node modules.

In debugging this, I determined that the documented value of `none` is no longer valid
and the value `disabled` should be used instead. While this is clearly a documentation
inconsistency, the fact that the plugin does not handle an unexpected value for `mode`
leads to a break in functionality when `dd-trace` is upgraded from version `1.7`, when
this value presumably changed.

This bug is caused by the unrecognized value - in this case `none` - falling through the
database plugin's `injectDbmQuery` function without returning a query.

Therefore, this commit accommodatesthe old/documented value of `none` that disables
propagation as well as defaults the behavior of the function to return the query
unmolested in the event that an invalid value is used in future.

I could not see any unit tests for this, but this has been tested "in the wild" to success
within my own test setups, and should be easily backported to previous versions.

I also suggest that the documentation linked above is updated to reflect the "proper"
value.
…hould not be functionally different, and should let the SQL through
Copy link

github-actions bot commented Apr 11, 2024

Overall package size

Self size: 6.29 MB
Deduped: 60.79 MB
No deduping: 61.07 MB

Dependency sizes

name version self size total size
@datadog/native-iast-taint-tracking 1.7.0 16.71 MB 16.72 MB
@datadog/native-appsec 7.1.1 14.39 MB 14.4 MB
@datadog/pprof 5.2.0 8.84 MB 9.21 MB
protobufjs 7.2.5 2.77 MB 6.56 MB
@datadog/native-iast-rewriter 2.3.0 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.4.1 780.32 kB 780.32 kB
import-in-the-middle 1.7.3 67.62 kB 731.01 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
ipaddr.js 2.1.0 60.23 kB 60.23 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
node-abort-controller 3.1.1 16.89 kB 16.89 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
methods 1.1.2 5.29 kB 5.29 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 Apr 11, 2024

Benchmarks

Benchmark execution time: 2024-04-12 13:10:18

Comparing candidate commit a8eecc4 in PR branch choult-patch with baseline commit b01b676 in branch master.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 258 metrics, 8 unstable metrics.

nathan-knight and others added 9 commits April 12, 2024 11:57
* Avoid run sequelize plugin test with non compatible mysql2

* Avoid run sequelize plugin test with non compatible mysql2

* Fix typo

* Fix typo

* Add comment with the test combination constraint explanation

* Update packages/dd-trace/test/appsec/iast/analyzers/sql-injection-analyzer.sequelize.plugin.spec.js

Co-authored-by: simon-id <simon.id@datadoghq.com>

---------

Co-authored-by: simon-id <simon.id@datadoghq.com>
* Emit an event when profiles are submitted
* Emit span start event
* Emit an app-closing event so telemetry users can publish final metrics
* SSI Telemetry class
* Telemetry mock profiler
Because commas are normalized to underscores in backend anyway.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants