Skip to content

Commit f9af14d

Browse files
authored
add all dns addresses when option is set (DataDog#2038)
1 parent 49d9621 commit f9af14d

File tree

2 files changed

+15
-9
lines changed

2 files changed

+15
-9
lines changed

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

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,18 @@ class DNSPlugin extends Plugin {
4444
this.enter(span, store)
4545
}, (result) => {
4646
const { span } = storage.getStore()
47-
const address = Array.isArray(result) ? result[0].address : result
48-
span.setTag('dns.address', address)
47+
48+
if (Array.isArray(result)) {
49+
const addresses = Array.isArray(result)
50+
? result.map(address => address.address).sort()
51+
: [result]
52+
53+
span.setTag('dns.address', addresses[0])
54+
span.setTag('dns.addresses', addresses.join(','))
55+
} else {
56+
span.setTag('dns.address', result)
57+
}
58+
4959
span.finish()
5060
})
5161

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

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,6 @@ describe('Plugin', () => {
4242
})
4343

4444
it('should instrument lookup with all addresses', done => {
45-
const options = {
46-
family: 4,
47-
all: true
48-
}
49-
5045
agent
5146
.use(traces => {
5247
expect(traces[0][0]).to.deep.include({
@@ -57,13 +52,14 @@ describe('Plugin', () => {
5752
expect(traces[0][0].meta).to.deep.include({
5853
'span.kind': 'client',
5954
'dns.hostname': 'localhost',
60-
'dns.address': '127.0.0.1'
55+
'dns.address': '127.0.0.1',
56+
'dns.addresses': '127.0.0.1,::1'
6157
})
6258
})
6359
.then(done)
6460
.catch(done)
6561

66-
dns.lookup('localhost', options, (err, address, family) => err && done(err))
62+
dns.lookup('localhost', { all: true }, (err, address, family) => err && done(err))
6763
})
6864

6965
it('should instrument errors correctly', done => {

0 commit comments

Comments
 (0)