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

Fix to DBM propagation - comment is injected before query is sent #2938

Merged
merged 8 commits into from
Apr 5, 2023

Conversation

crysmags
Copy link
Collaborator

What does this PR do?

Motivation

Plugin Checklist

Additional Notes

@crysmags crysmags requested a review from a team as a code owner March 24, 2023 23:32
@github-actions
Copy link

github-actions bot commented Mar 24, 2023

Overall package size

Self size: 4.01 MB
Deduped: 59.61 MB
No deduping: 59.65 MB

Dependency sizes

name version self size total size
@datadog/native-iast-taint-tracking 1.3.1 13.47 MB 13.47 MB
@datadog/pprof 2.1.0 12.31 MB 13.2 MB
@datadog/native-appsec 2.0.0 12.33 MB 12.34 MB
@datadog/native-metrics 1.5.0 7.1 MB 7.11 MB
protobufjs 7.1.2 2.76 MB 6.55 MB
@datadog/native-iast-rewriter 2.0.1 2.09 MB 2.1 MB
opentracing 0.14.7 194.81 kB 194.81 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
semver 5.7.1 61.58 kB 61.58 kB
ipaddr.js 2.0.1 59.52 kB 59.52 kB
ignore 5.2.0 48.87 kB 48.87 kB
import-in-the-middle 1.3.4 32.7 kB 37.17 kB
istanbul-lib-coverage 3.2.0 29.34 kB 29.34 kB
retry 0.10.1 27.44 kB 27.44 kB
lodash.uniq 4.5.0 25.01 kB 25.01 kB
limiter 1.1.5 23.17 kB 23.17 kB
lodash.kebabcase 4.1.1 17.75 kB 17.75 kB
lodash.pick 4.4.0 16.33 kB 16.33 kB
node-abort-controller 3.0.1 14.33 kB 14.33 kB
crypto-randomuuid 1.0.0 11.18 kB 11.18 kB
diagnostics_channel 1.1.0 7.07 kB 7.07 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

@codecov
Copy link

codecov bot commented Mar 24, 2023

Codecov Report

Merging #2938 (b81660e) into master (79fc8ec) will decrease coverage by 0.01%.
The diff coverage is 88.88%.

@@            Coverage Diff             @@
##           master    #2938      +/-   ##
==========================================
- Coverage   87.64%   87.64%   -0.01%     
==========================================
  Files         329      329              
  Lines       11747    11750       +3     
  Branches       33       33              
==========================================
+ Hits        10296    10298       +2     
- Misses       1451     1452       +1     
Impacted Files Coverage Δ
packages/datadog-instrumentations/src/pg.js 84.09% <88.88%> (+1.16%) ⬆️

... and 1 file with indirect coverage changes

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@pr-commenter
Copy link

pr-commenter bot commented Mar 25, 2023

Benchmarks

Comparing candidate commit 318e6d9 in PR branch dbm_PG_Fix_crys with baseline commit cfaadf2 in branch master.

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

}).then(done, done)

client.query('SELECT $1::text as message', ['Hello World!'], (err, result) => {
if (err) return done(err)
expect(seenTraceParent).to.be.true
net.Socket.prototype.write = originalWrite
Copy link
Contributor

Choose a reason for hiding this comment

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

This will not get restored if the assertion before it fails. This could cause other tests to fail incorrectly. It's generally best to avoid side effects potentially leaking out of tests. This could be resolved by putting the test in a describe with before and after to do the environment modifications, ensuring they always happen regardless of what happens in the test.

describe('something', () => {
  before(() => {
    // Do your environment-changing things...
  })

  after(() => {
    // Ensure your environment changes are restored, even if the tests failed.
  })

  it('should work', () => {
    // Your modified environment state will be present here.
  })
})

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Got it, good point, will make the changes 👍

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Hi @Qard I have added the tests to a beforeEach and and afterEach block.

tlhunter
tlhunter previously approved these changes Apr 3, 2023
Qard
Qard previously approved these changes Apr 3, 2023
@@ -150,7 +148,6 @@ describe('Plugin', () => {
expect(traces[0][0].meta).to.have.property(ERROR_MESSAGE, error.message)
expect(traces[0][0].meta).to.have.property(ERROR_STACK, error.stack)
expect(traces[0][0].meta).to.have.property('component', 'pg')
expect(traces[0][0].metrics).to.have.property('network.destination.port', 5432)
Copy link
Member

Choose a reason for hiding this comment

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

Any way to not remove these tests?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Sure thing

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I am not sure how they were removed...

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Added back 👍

@crysmags crysmags dismissed stale reviews from Qard and tlhunter via 318e6d9 April 4, 2023 18:07
@crysmags crysmags merged commit 840f390 into master Apr 5, 2023
tlhunter pushed a commit that referenced this pull request Apr 5, 2023
)

* adding query to async resource to ensure we add the comment before query.apply is called

* changing full propagation test to check for comment before call to db
tlhunter pushed a commit that referenced this pull request Apr 5, 2023
)

* adding query to async resource to ensure we add the comment before query.apply is called

* changing full propagation test to check for comment before call to db
This was referenced Apr 5, 2023
simon-id added a commit that referenced this pull request Apr 6, 2023
@simon-id simon-id mentioned this pull request Apr 6, 2023
simon-id added a commit that referenced this pull request Apr 6, 2023
* Update sql-injection-analyzer.js

* cleanup
tlhunter pushed a commit that referenced this pull request Apr 6, 2023
* Update sql-injection-analyzer.js

* cleanup
tlhunter pushed a commit that referenced this pull request Apr 6, 2023
* Update sql-injection-analyzer.js

* cleanup
tlhunter pushed a commit that referenced this pull request Apr 6, 2023
)

* adding query to async resource to ensure we add the comment before query.apply is called

* changing full propagation test to check for comment before call to db
tlhunter pushed a commit that referenced this pull request Apr 6, 2023
* Update sql-injection-analyzer.js

* cleanup
tlhunter pushed a commit that referenced this pull request Apr 6, 2023
)

* adding query to async resource to ensure we add the comment before query.apply is called

* changing full propagation test to check for comment before call to db
tlhunter pushed a commit that referenced this pull request Apr 6, 2023
* Update sql-injection-analyzer.js

* cleanup
@tlhunter tlhunter deleted the dbm_PG_Fix_crys branch January 19, 2024 22:19
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.

4 participants