Skip to content

Commit 8dc7f96

Browse files
authored
lazy load dd-trace-api integration (#5406)
1 parent 38cb935 commit 8dc7f96

File tree

5 files changed

+12
-4
lines changed

5 files changed

+12
-4
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
'use strict'
2+
3+
const { addHook } = require('./helpers/instrument')
4+
5+
// Empty hook just to make the plugin load.
6+
// TODO: Add version range when the module is released on npm.
7+
addHook({ name: 'dd-trace-api' }, api => api)

packages/datadog-instrumentations/src/helpers/hooks.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ module.exports = {
4343
couchbase: () => require('../couchbase'),
4444
crypto: () => require('../crypto'),
4545
cypress: () => require('../cypress'),
46+
'dd-trace-api': () => require('../dd-trace-api'),
4647
dns: () => require('../dns'),
4748
elasticsearch: () => require('../elasticsearch'),
4849
express: () => require('../express'),

packages/datadog-instrumentations/src/helpers/register.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ for (const packageName of names) {
158158
}
159159

160160
function matchVersion (version, ranges) {
161-
return !version || (ranges && ranges.some(range => satisfies(version, range)))
161+
return !version || !ranges || ranges.some(range => satisfies(version, range))
162162
}
163163

164164
function getVersion (moduleBaseDir) {

packages/datadog-plugin-dd-trace-api/test/index.spec.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ describe('Plugin', () => {
2222

2323
tracer = require('../../dd-trace')
2424

25+
// TODO: Use the real module when it's released.
26+
dc.channel('dd-trace:instrumentation:load').publish({ name: 'dd-trace-api' })
27+
2528
sinon.spy(tracer)
2629
sinon.spy(tracer.appsec)
2730
sinon.spy(tracer.dogstatsd)

packages/dd-trace/src/plugin_manager.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,6 @@ loadChannel.subscribe(({ name }) => {
2828
maybeEnable(plugins[name])
2929
})
3030

31-
// Always enabled
32-
maybeEnable(require('../../datadog-plugin-dd-trace-api/src'))
33-
3431
function maybeEnable (Plugin) {
3532
if (!Plugin || typeof Plugin !== 'function') return
3633
if (!pluginClasses[Plugin.id]) {

0 commit comments

Comments
 (0)