Skip to content

Commit e48b161

Browse files
authored
ws plugins will be disabled when config is set to false (#7247)
* ws plugins will be disabled when config is set to false
1 parent 145d856 commit e48b161

6 files changed

Lines changed: 12 additions & 36 deletions

File tree

packages/datadog-plugin-ws/src/close.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,9 @@ class WSClosePlugin extends TracingPlugin {
2020

2121
bindStart (ctx) {
2222
const {
23-
traceWebsocketMessagesEnabled,
2423
traceWebsocketMessagesInheritSampling,
2524
traceWebsocketMessagesSeparateTraces
2625
} = this.config
27-
if (!traceWebsocketMessagesEnabled) return
2826

2927
const { code, data, socket, isPeerClose } = ctx
3028
if (!socket?.spanContext) return

packages/datadog-plugin-ws/src/index.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ class WSPlugin extends CompositePlugin {
1919
}
2020

2121
configure (config) {
22+
if (!config.traceWebsocketMessagesEnabled) {
23+
super.configure(false)
24+
return
25+
}
2226
return super.configure(config)
2327
}
2428
}

packages/datadog-plugin-ws/src/producer.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,6 @@ class WSProducerPlugin extends TracingPlugin {
1919
static get kind () { return 'producer' }
2020

2121
bindStart (ctx) {
22-
const messagesEnabled = this.config.traceWebsocketMessagesEnabled
23-
if (!messagesEnabled) return
24-
2522
const { byteLength, socket, binary } = ctx
2623
if (!socket.spanContext) return
2724

packages/datadog-plugin-ws/src/receiver.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,9 @@ class WSReceiverPlugin extends TracingPlugin {
2020

2121
bindStart (ctx) {
2222
const {
23-
traceWebsocketMessagesEnabled,
2423
traceWebsocketMessagesInheritSampling,
2524
traceWebsocketMessagesSeparateTraces
2625
} = this.config
27-
if (!traceWebsocketMessagesEnabled) return
2826

2927
const { byteLength, socket, binary } = ctx
3028
if (!socket.spanContext) return

packages/datadog-plugin-ws/src/server.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ class WSServerPlugin extends TracingPlugin {
4444
'http.url': uri,
4545
'resource.name': `${options.method} ${route}`,
4646
'span.kind': 'server'
47-
4847
}
4948

5049
}, ctx)

packages/datadog-plugin-ws/test/index.spec.js

Lines changed: 8 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -294,34 +294,14 @@ describe('Plugin', () => {
294294
agent.close({ ritmReset: false, wipe: true })
295295
})
296296

297-
it('should not produce message spans when traceWebsocketMessagesEnabled is not set to true', () => {
298-
wsServer.on('connection', (ws) => {
299-
ws.send('test message')
300-
})
301-
messageReceived = false
302-
303-
client.on('message', (data) => {
304-
assert.strictEqual(data.toString(), 'test message')
305-
messageReceived = true
306-
})
307-
308-
return agent.assertSomeTraces(traces => {
309-
assert.strictEqual(traces[0][0].service, 'custom-ws-service')
310-
assert.strictEqual(traces[0][0].name, 'web.request')
311-
assert.strictEqual(traces[0][0].type, 'websocket')
312-
})
313-
})
314-
315-
it('should not produce close event spans when traceWebsocketMessagesEnabled is not set to true', () => {
316-
wsServer.on('connection', (ws) => {
317-
ws.close()
318-
})
319-
320-
return agent.assertSomeTraces(traces => {
321-
assert.strictEqual(traces[0][0].service, 'custom-ws-service')
322-
assert.strictEqual(traces[0][0].name, 'web.request')
323-
assert.strictEqual(traces[0][0].type, 'websocket')
324-
})
297+
it('should not initialize sub-plugins when traceWebsocketMessagesEnabled is false', () => {
298+
const tracer = require('../../dd-trace')
299+
const wsPlugin = tracer._pluginManager._pluginsByName.ws
300+
301+
assert.strictEqual(wsPlugin.server._enabled, false)
302+
assert.strictEqual(wsPlugin.producer._enabled, false)
303+
assert.strictEqual(wsPlugin.receiver._enabled, false)
304+
assert.strictEqual(wsPlugin.close._enabled, false)
325305
})
326306
})
327307
describe('with WebSocket configurations settings', () => {

0 commit comments

Comments
 (0)