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

v2.38.0 #3315

Merged
merged 20 commits into from
Jun 30, 2023
Merged

v2.38.0 #3315

merged 20 commits into from
Jun 30, 2023

Conversation

tlhunter
Copy link
Member

@tlhunter tlhunter commented Jun 29, 2023

Features

Improvements

Bug Fixes

Co-authored-by: Thomas Hunter II <tlhunter@datadog.com>
@tlhunter tlhunter requested review from a team as code owners June 29, 2023 19:54
@github-actions
Copy link

github-actions bot commented Jun 29, 2023

Overall package size

Self size: 4.74 MB
Deduped: 71.44 MB
No deduping: 71.48 MB

Dependency sizes

name version self size total size
@datadog/pprof 2.2.3 14.25 MB 15.13 MB
@datadog/native-iast-taint-tracking 1.5.0 14.86 MB 14.86 MB
@datadog/native-appsec 3.2.0 13.38 MB 13.39 MB
@datadog/native-metrics 1.6.0 7.88 MB 7.89 MB
protobufjs 7.2.3 2.77 MB 6.65 MB
@types/node 18.11.19 3.58 MB 3.58 MB
@datadog/native-iast-rewriter 2.0.1 2.09 MB 2.1 MB
@opentelemetry/core 1.3.1 784.66 kB 1.37 MB
@opentelemetry/api 1.4.1 780.32 kB 780.32 kB
opentracing 0.14.7 194.81 kB 194.81 kB
lru-cache 7.18.3 133.92 kB 133.92 kB
semver 7.5.3 93.39 kB 123.79 kB
@datadog/sketches-js 2.1.0 109.9 kB 109.9 kB
lodash.sortby 4.7.0 75.76 kB 75.76 kB
ipaddr.js 2.0.1 59.52 kB 59.52 kB
ignore 5.2.4 51.22 kB 51.22 kB
import-in-the-middle 1.3.5 34.34 kB 38.81 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
node-abort-controller 3.1.1 16.89 kB 16.89 kB
lodash.pick 4.4.0 16.33 kB 16.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 Jun 29, 2023

Codecov Report

Merging #3315 (e14b13d) into v2.x (fbc2899) will decrease coverage by 7.27%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             v2.x    #3315      +/-   ##
==========================================
- Coverage   93.51%   86.24%   -7.27%     
==========================================
  Files         222      202      -20     
  Lines        8829     7940     -889     
  Branches        0       33      +33     
==========================================
- Hits         8256     6848    -1408     
- Misses        573     1092     +519     
Impacted Files Coverage Δ
integration-tests/ci-visibility/test/sum.js 69.19% <ø> (ø)
packages/datadog-instrumentations/src/mocha.js 0.00% <0.00%> (-98.64%) ⬇️
packages/datadog-plugin-fastify/src/index.js 100.00% <ø> (ø)

... and 318 files 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 Jun 29, 2023

Benchmarks

Comparing candidate commit e14b13d in PR branch v2.38.0-proposal with baseline commit 85a8949 in branch v2.x.

Found 1 performance improvements and 0 performance regressions! Performance is the same for 692 metrics, 45 unstable metrics.

scenario:plugin-graphql-with-depth-off-18

  • 🟩 max_rss_usage [-119.934KB; -99.182KB] or [-12.933%; -10.695%]

@tlhunter
Copy link
Member Author

Failures

Postgres

This issue isn't obvious. Seems like we're expecting client.query to be a promise in the code but the v2 branch is testing an ancient version of the pg library.

  1) Plugin
       pg
         with pg >=4.5.5 (4.5.5)
           when using pg.Client
             service and operation naming
               in version v0
                 should conform to the naming schema:
     TypeError: client.query(...).then is not a function
      at /home/runner/work/dd-trace-js/dd-trace-js/packages/datadog-plugin-pg/test/index.spec.js:202:16
      at processImmediate (internal/timers.js:461:21)
      at process.callbackTrampoline (internal/async_hooks.js:126:14)

HTTP

Possibly due to the merge conflict from first commit but I'm not sure.

  1) Plugin
       http/server
         canceled request
           should send traces to agent:

      AssertionError: expected { type: 'http', …(11) } to have property 'service' of 'test', but got 'test-http-client'
      + expected - actual

      -test-http-client
      +test

Integration (all 5 of them)

Probably due to the merge conflict in the first commit.

  2) startup
       programmatic
         works for options.port:
     Error: the array [
  {
    "actual": "web.request"
    "expected": "http.request"
    "message": "expected { type: 'web', …(11) } to have property 'name' of 'http.request', but got 'web.request'"
    "showDiff": true
  }
  "Error: timeout"
] was thrown, throw an Error :)

@tlhunter
Copy link
Member Author

So the conflict comes down to this file in this pull request. In the pull request the following line remains the same:

    const span = web.startSpan(this.tracer, this.config, req, res, 'web.request')

However, in the conflicted change, the line changes like so:

-      const span = web.startSpan(this.tracer, this.config, req, res, 'http.request')
+      const span = web.startSpan(this.tracer, this.config, req, res, 'web.request')

So it seems that the v2.x branch expects a value of http.request while v3.x and v4.x expects web.request.

tlhunter and others added 2 commits June 29, 2023 13:43
* add cassandra-driver versions
* add elasticsearch/opensearch versions
* add mongodb versions
* add pg versions
* add oracledb versions
@tlhunter
Copy link
Member Author

According to Roch, web.request is for server (ingress) and http.request is for client (egress). It sounds like the v2 releases used incorrect names. I'm now attempting to switch back to the incorrect name for v2 line. However there are probably a ton of new tests that rightly look for web.request that will also need to be changed.

@tlhunter
Copy link
Member Author

Alright, it looks like that change (a new commit, the second in line) fixed everything except for the pg bug. For that maybe we bump the supported pg version range since the failing version is incredibly old?

@tlhunter
Copy link
Member Author

The final failing test, aws-sdk, has started failing everywhere as of an hour or two ago:
#3314

juan-fernandez
juan-fernandez previously approved these changes Jun 30, 2023
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.

OK from ci visibility's perspective

uurien
uurien previously approved these changes Jun 30, 2023
tlhunter and others added 12 commits June 30, 2023 09:13
* introduce peer service computation for outbound edges:
    * add DD_TRACE_SPAN_PEER_SERVICE environment variable
    * add peer service computation logic
    * TODO: add tests for config, outbound, tracer (?)
* provide a helper for testing peer service computation
* defer plugin `finish` to TracingPlugin in children
- adds support for the OpenAI package
- includes many things that aren't typical with our other integrations
  - also sends metrics, even when runtime metrics are disabled for the tracer
  - also sends logs directly to the datadog backend, bypassing the agent
- overall this is the most intricate of any integration we've had so far
* Wrap express process_params to taint route params

* Add taint tracking plugin test for route params

* Change name of express process params channel

* Return process_param result

* Address taint tracking plugin subscriptions test
tlhunter and others added 5 commits June 30, 2023 09:13
* Add passport local and http instrumentations.
* Add automated event tracking in appsec..

---------

Co-authored-by: Carles Capell <107924659+CarlesDD@users.noreply.github.com>
Co-authored-by: simon-id <simon.id@datadoghq.com>
@tlhunter tlhunter merged commit e9d8b1a into v2.x Jun 30, 2023
@tlhunter tlhunter deleted the v2.38.0-proposal branch December 19, 2023 16:38
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.

10 participants