Skip to content

Commit c4ddbfa

Browse files
committed
lazy load dd-trace-api integration
1 parent 39df8d3 commit c4ddbfa

File tree

5 files changed

+11
-4
lines changed

5 files changed

+11
-4
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
'use strict'
2+
3+
const { addHook } = require('./helpers/instrument')
4+
5+
// Empty hook just to make the plugin load.
6+
addHook({ name: 'dd-trace-api' }, api => api)

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

+1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ module.exports = {
4242
couchbase: () => require('../couchbase'),
4343
crypto: () => require('../crypto'),
4444
cypress: () => require('../cypress'),
45+
'dd-trace-api': () => require('../dd-trace-api'),
4546
dns: () => require('../dns'),
4647
elasticsearch: () => require('../elasticsearch'),
4748
express: () => require('../express'),

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ for (const packageName of names) {
155155
}
156156

157157
function matchVersion (version, ranges) {
158-
return !version || (ranges && ranges.some(range => satisfies(version, range)))
158+
return !version || !ranges || ranges.some(range => satisfies(version, range))
159159
}
160160

161161
function getVersion (moduleBaseDir) {

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

+3
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

-3
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)