11'use strict'
22
3- const lookup = require ( 'dns' ) . lookup // cache to avoid instrumentation
43const dgram = require ( 'dgram' )
54const isIP = require ( 'net' ) . isIP
65
76const request = require ( './exporters/common/request' )
87const log = require ( './log' )
98const Histogram = require ( './histogram' )
10- const { defaults } = require ( './config/defaults' )
119const { getAgentUrl } = require ( './agent/url' )
1210const { entityId } = require ( './exporters/common/docker' )
1311
@@ -23,7 +21,9 @@ const TYPE_HISTOGRAM = 'h'
2321 * @implements {DogStatsD}
2422 */
2523class DogStatsDClient {
26- constructor ( options = { } ) {
24+ #lookup
25+ constructor ( options ) {
26+ this . #lookup = options . lookup
2727 if ( options . metricsProxyUrl ) {
2828 this . _httpOptions = {
2929 method : 'POST' ,
@@ -32,11 +32,10 @@ class DogStatsDClient {
3232 }
3333 }
3434
35- this . _host = options . host || defaults [ 'dogstatsd.hostname' ]
35+ this . _host = options . host
3636 this . _family = isIP ( this . _host )
37- this . _port = options . port || defaults [ 'dogstatsd.port' ]
38- this . _prefix = options . prefix || ''
39- this . _tags = options . tags || [ ]
37+ this . _port = options . port
38+ this . _tags = options . tags
4039 this . _queue = [ ]
4140 this . _buffer = ''
4241 this . _offset = 0
@@ -99,7 +98,7 @@ class DogStatsDClient {
9998
10099 _sendUdp ( queue ) {
101100 if ( this . _family === 0 ) {
102- lookup ( this . _host , ( err , address , family ) => {
101+ this . # lookup( this . _host , ( err , address , family ) => {
103102 if ( err ) return log . error ( 'DogStatsDClient: Host not found' , err )
104103 this . _sendUdpFromQueue ( queue , address , family )
105104 } )
@@ -118,7 +117,7 @@ class DogStatsDClient {
118117 }
119118
120119 _add ( stat , value , type , tags ) {
121- let message = `${ this . _prefix + stat } :${ value } |${ type } `
120+ let message = `${ stat } :${ value } |${ type } `
122121
123122 // Don't manipulate this._tags as it is still used
124123 tags = tags ? [ ...this . _tags , ...tags ] : this . _tags
@@ -164,6 +163,9 @@ class DogStatsDClient {
164163 return socket
165164 }
166165
166+ /**
167+ * @param {import('./config/config-base') } config - Tracer configuration
168+ */
167169 static generateClientConfig ( config ) {
168170 const tags = [ ]
169171
@@ -183,6 +185,7 @@ class DogStatsDClient {
183185 host : config . dogstatsd . hostname ,
184186 port : config . dogstatsd . port ,
185187 tags,
188+ lookup : config . lookup ,
186189 }
187190
188191 if ( config . url || config . port ) {
0 commit comments