Skip to content

Conversation

@jbertran
Copy link
Contributor

What does this PR do?

  • Move HTTP and HTTP2 clients to ClientPlugin
  • Stop subscribing to connect channels in all OutboundPlugins, since only cassandra actually uses this channel

Motivation

To introduce peer service (see #3177), it's helpful for all client/producer plugins to have at least OutboundPlugin in their inheritance path.

Plugin Checklist

  • Unit tests.

Additional Notes

@github-actions
Copy link

github-actions bot commented May 22, 2023

Overall package size

Self size: 4.18 MB
Deduped: 58.38 MB
No deduping: 58.43 MB

Dependency sizes

name version self size total size
@datadog/pprof 2.2.1 14.24 MB 15.12 MB
@datadog/native-iast-taint-tracking 1.4.1 14.85 MB 14.86 MB
@datadog/native-appsec 3.2.0 13.38 MB 13.39 MB
protobufjs 7.1.2 2.76 MB 6.55 MB
@datadog/native-iast-rewriter 2.0.1 2.09 MB 2.1 MB
@datadog/native-metrics 2.0.0 898.77 kB 1.3 MB
opentracing 0.14.7 194.81 kB 194.81 kB
semver 7.3.8 88.2 kB 118.6 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.0.1 59.52 kB 59.52 kB
ignore 5.2.0 48.87 kB 48.87 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
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

@jbertran jbertran force-pushed the jbertran/http-client-tree branch from b58b131 to 41fce29 Compare May 22, 2023 16:08
@codecov
Copy link

codecov bot commented May 22, 2023

Codecov Report

Merging #3178 (cfae42e) into master (d638b4b) will decrease coverage by 0.01%.
The diff coverage is 100.00%.

❗ Current head cfae42e differs from pull request most recent head cac2cd6. Consider uploading reports for the commit cac2cd6 to get more accurate results

@@            Coverage Diff             @@
##           master    #3178      +/-   ##
==========================================
- Coverage   86.57%   86.56%   -0.01%     
==========================================
  Files         333      333              
  Lines       11934    11928       -6     
  Branches       33       33              
==========================================
- Hits        10332    10326       -6     
  Misses       1602     1602              
Impacted Files Coverage Δ
packages/dd-trace/src/plugins/outbound.js 50.00% <ø> (ø)
...kages/datadog-plugin-cassandra-driver/src/index.js 93.33% <100.00%> (+1.66%) ⬆️
packages/datadog-plugin-http/src/client.js 96.90% <100.00%> (-0.10%) ⬇️
packages/datadog-plugin-http2/src/client.js 96.80% <100.00%> (-0.07%) ⬇️

... and 3 files with indirect coverage changes

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

@jbertran jbertran marked this pull request as ready for review May 22, 2023 16:13
@jbertran jbertran requested a review from a team as a code owner May 22, 2023 16:13
@pr-commenter
Copy link

pr-commenter bot commented May 22, 2023

Benchmarks

Comparing candidate commit cac2cd6 in PR branch jbertran/http-client-tree with baseline commit d638b4b in branch master.

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

@jbertran jbertran force-pushed the jbertran/http-client-tree branch 5 times, most recently from 1d03fe3 to 8ab1379 Compare May 24, 2023 13:33
@jbertran jbertran force-pushed the jbertran/http-client-tree branch from 8ab1379 to cfae42e Compare May 30, 2023 09:04
tlhunter
tlhunter previously approved these changes May 30, 2023
Copy link
Member

@tlhunter tlhunter left a comment

Choose a reason for hiding this comment

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

This looks good to me. It makes sense that an HTTP client would extend from ClientPlugin, being a client and all.

This appears to be entirely a refactor, nothing new, and the untouched tests all pass.

That said I would like @rochdev to take a quick look.

})
}

connect (url) {
Copy link
Member

Choose a reason for hiding this comment

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

Why not keep it there? If there are no publishers, this doesn't impact anything.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I wasn't sure of the impact of subscribing to a channel, so I removed it by default. I'll revert this so we have an easy way to grab connect events in every client.

@jbertran jbertran merged commit 3159b79 into master Jun 1, 2023
uurien pushed a commit that referenced this pull request Jun 1, 2023
* move http client to clientPlugin

* move http2 client to clientPlugin
uurien pushed a commit that referenced this pull request Jun 1, 2023
* move http client to clientPlugin

* move http2 client to clientPlugin
uurien pushed a commit that referenced this pull request Jun 1, 2023
* move http client to clientPlugin

* move http2 client to clientPlugin
This was referenced Jun 1, 2023
uurien pushed a commit that referenced this pull request Jun 2, 2023
* move http client to clientPlugin

* move http2 client to clientPlugin
uurien pushed a commit that referenced this pull request Jun 2, 2023
* move http client to clientPlugin

* move http2 client to clientPlugin
uurien pushed a commit that referenced this pull request Jun 2, 2023
* move http client to clientPlugin

* move http2 client to clientPlugin
@tlhunter tlhunter deleted the jbertran/http-client-tree branch January 19, 2024 22:20
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