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

Cache integrations - service naming #3056

Merged
merged 8 commits into from
May 23, 2023
Merged

Conversation

jbertran
Copy link
Contributor

What does this PR do?

This applies the service naming schema logic (see #2941, #2961) to cache integrations.

These are more complex than messaging integrations, as we need to take into account the default provided by DatabasePlugin into the naming functions, which version 0 must respect, but version 1 does not need.

Motivation

Keep trucking on naming schema adoption.

Plugin Checklist

  • Unit tests.

Additional Notes

@jbertran jbertran requested a review from a team as a code owner April 27, 2023 09:38
@github-actions
Copy link

github-actions bot commented Apr 27, 2023

Overall package size

Self size: 4.15 MB
Deduped: 58.28 MB
No deduping: 58.33 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.1.0 13.31 MB 13.32 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

@codecov
Copy link

codecov bot commented Apr 27, 2023

Codecov Report

Merging #3056 (97f7485) into master (8b35384) will decrease coverage by 0.97%.
The diff coverage is 34.24%.

@@            Coverage Diff             @@
##           master    #3056      +/-   ##
==========================================
- Coverage   87.62%   86.65%   -0.97%     
==========================================
  Files         297      333      +36     
  Lines       10994    11866     +872     
  Branches       33       33              
==========================================
+ Hits         9633    10282     +649     
- Misses       1361     1584     +223     
Impacted Files Coverage Δ
packages/dd-trace/src/plugins/tracing.js 57.14% <0.00%> (ø)
packages/dd-trace/src/service-naming/index.js 55.55% <0.00%> (-4.45%) ⬇️
.../dd-trace/src/service-naming/schemas/definition.js 22.22% <0.00%> (ø)
...d-trace/src/service-naming/schemas/v0/messaging.js 14.28% <14.28%> (ø)
.../dd-trace/src/service-naming/schemas/v0/storage.js 27.27% <27.27%> (ø)
...d-trace/src/service-naming/schemas/v1/messaging.js 38.46% <38.46%> (ø)
...ckages/dd-trace/src/service-naming/schemas/util.js 50.00% <50.00%> (ø)
.../dd-trace/src/service-naming/schemas/v1/storage.js 50.00% <50.00%> (ø)
packages/datadog-plugin-memcached/src/index.js 100.00% <100.00%> (ø)
packages/datadog-plugin-redis/src/index.js 93.54% <100.00%> (-0.57%) ⬇️
... and 2 more

... and 32 files with indirect coverage changes

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

@jbertran jbertran force-pushed the jbertran/service-naming-cache branch from 392df87 to aeeefde Compare April 27, 2023 09:47
@pr-commenter
Copy link

pr-commenter bot commented Apr 27, 2023

Benchmarks

Comparing candidate commit 97f7485 in PR branch jbertran/service-naming-cache with baseline commit 8b35384 in branch master.

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

@jbertran jbertran mentioned this pull request Apr 27, 2023
1 task
@jbertran jbertran changed the title Apply service naming schema to cache integrations Cache integrations - service naming Apr 27, 2023
@jbertran jbertran mentioned this pull request Apr 27, 2023
1 task
@@ -4,6 +4,13 @@ const StoragePlugin = require('./storage')

class CachePlugin extends StoragePlugin {
static get operation () { return 'command' }

startSpan (options) {
Copy link
Member

Choose a reason for hiding this comment

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

I think this part might be a little confusing. Looking across the caching/mysql/tedious PRs: In some classes, startSpan takes two arguments, but in cache related classes, it only takes one?

Or, is the change to make it a single argument going to happen everywhere? There are so many PRs I'm losing track of some of this stuff 😅

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Cache plugins get this behaviour generalized because they're all upgraded to respond to the naming schema, so it's possible to do so. Database plugins aren't all yet upgraded, so we can't yet generalize for them, but since it's helping reduce verbosity in the individual plugins I see it as something we want to do when we can.

Copy link
Member

Choose a reason for hiding this comment

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

Maybe as a stop-gap we can rename this method to startSpanImpliedOperation(options) and have it still call super.startSpan? With a TODO to refactor startSpan everywhere to have the same arity?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That sounds better for continuity, will do.

Copy link
Member

Choose a reason for hiding this comment

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

That name doesn't really help with understanding IMO. Also, the point of the startSpan method is explicitly to allow overriding it in every plugin.

Copy link
Contributor

@amarziali amarziali left a comment

Choose a reason for hiding this comment

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

naming lgtm

@jbertran jbertran force-pushed the jbertran/service-naming-cache branch 2 times, most recently from e825de4 to 3bde47b Compare May 22, 2023 09:50
@jbertran jbertran force-pushed the jbertran/service-naming-cache branch from 3bde47b to ccada49 Compare May 22, 2023 09:52
@jbertran jbertran merged commit b9543c3 into master May 23, 2023
104 checks passed
thedavl pushed a commit that referenced this pull request May 30, 2023
Adopt service naming schema in cache integrations

---------

Co-authored-by: Thomas Hunter II <tlhunter@datadog.com>
uurien pushed a commit that referenced this pull request Jun 1, 2023
Adopt service naming schema in cache integrations

---------

Co-authored-by: Thomas Hunter II <tlhunter@datadog.com>
uurien pushed a commit that referenced this pull request Jun 1, 2023
Adopt service naming schema in cache integrations

---------

Co-authored-by: Thomas Hunter II <tlhunter@datadog.com>
uurien pushed a commit that referenced this pull request Jun 1, 2023
Adopt service naming schema in cache integrations

---------

Co-authored-by: Thomas Hunter II <tlhunter@datadog.com>
This was referenced Jun 1, 2023
uurien pushed a commit that referenced this pull request Jun 2, 2023
Adopt service naming schema in cache integrations

---------

Co-authored-by: Thomas Hunter II <tlhunter@datadog.com>
uurien pushed a commit that referenced this pull request Jun 2, 2023
Adopt service naming schema in cache integrations

---------

Co-authored-by: Thomas Hunter II <tlhunter@datadog.com>
uurien pushed a commit that referenced this pull request Jun 2, 2023
Adopt service naming schema in cache integrations

---------

Co-authored-by: Thomas Hunter II <tlhunter@datadog.com>
@amarziali amarziali mentioned this pull request Jun 22, 2023
1 task
@tlhunter tlhunter deleted the jbertran/service-naming-cache 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.

None yet

4 participants