From 2c757923142e778ca2212c8548a50105adb6ca40 Mon Sep 17 00:00:00 2001 From: leonardo dalcin Date: Wed, 3 Jun 2020 13:49:40 -0300 Subject: [PATCH] refactor(opentelemetry-exporter-jaeger): removes config parameter change --- .../src/jaeger.ts | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/packages/opentelemetry-exporter-jaeger/src/jaeger.ts b/packages/opentelemetry-exporter-jaeger/src/jaeger.ts index c64d4ba118..11e135eb76 100644 --- a/packages/opentelemetry-exporter-jaeger/src/jaeger.ts +++ b/packages/opentelemetry-exporter-jaeger/src/jaeger.ts @@ -32,25 +32,26 @@ export class JaegerExporter implements SpanExporter { private readonly _onShutdownFlushTimeout: number; constructor(config: jaegerTypes.ExporterConfig) { - this._logger = config.logger || new NoopLogger(); - const tags: jaegerTypes.Tag[] = config.tags || []; + const localConfig = Object.assign({}, config) + this._logger = localConfig.logger || new NoopLogger(); + const tags: jaegerTypes.Tag[] = localConfig.tags || []; this._onShutdownFlushTimeout = - typeof config.flushTimeout === 'number' ? config.flushTimeout : 2000; + typeof localConfig.flushTimeout === 'number' ? localConfig.flushTimeout : 2000; // https://github.com/jaegertracing/jaeger-client-node#environment-variables // By default, the client sends traces via UDP to the agent at localhost:6832. Use JAEGER_AGENT_HOST and // JAEGER_AGENT_PORT to send UDP traces to a different host:port. If JAEGER_ENDPOINT is set, the client sends traces // to the endpoint via HTTP, making the JAEGER_AGENT_HOST and JAEGER_AGENT_PORT unused. If JAEGER_ENDPOINT is secured, // HTTP basic authentication can be performed by setting the JAEGER_USER and JAEGER_PASSWORD environment variables. - if (config.endpoint) { - config.endpoint = config.endpoint || process.env.JAEGER_ENDPOINT; - config.username = config.username || process.env.JAEGER_USER; - config.password = config.password || process.env.JAEGER_PASSWORD; - this._sender = new jaegerTypes.HTTPSender(config); + if (localConfig.endpoint) { + localConfig.endpoint = localConfig.endpoint || process.env.JAEGER_ENDPOINT; + localConfig.username = localConfig.username || process.env.JAEGER_USER; + localConfig.password = localConfig.password || process.env.JAEGER_PASSWORD; + this._sender = new jaegerTypes.HTTPSender(localConfig); this._sender._httpOptions.headers[OT_REQUEST_HEADER] = 1; } else { - config.host = config.host || process.env.JAEGER_AGENT_HOST; - this._sender = config.endpoint = new jaegerTypes.UDPSender(config); + localConfig.host = localConfig.host || process.env.JAEGER_AGENT_HOST; + this._sender = localConfig.endpoint = new jaegerTypes.UDPSender(localConfig); } if (this._sender._client instanceof Socket) { @@ -59,7 +60,7 @@ export class JaegerExporter implements SpanExporter { } this._process = { - serviceName: config.serviceName, + serviceName: localConfig.serviceName, tags: jaegerTypes.ThriftUtils.getThriftTags(tags), }; this._sender.setProcess(this._process);