From 376c373c721ba388633f526d4ea912ae9036c9cd Mon Sep 17 00:00:00 2001 From: Daniel Dyla Date: Mon, 20 Jan 2020 20:35:10 -0500 Subject: [PATCH 1/2] fix: unref jaeger socket to prevent process running indefinitely --- packages/opentelemetry-exporter-jaeger/src/jaeger.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/opentelemetry-exporter-jaeger/src/jaeger.ts b/packages/opentelemetry-exporter-jaeger/src/jaeger.ts index 1b1f50e6b3..d4446b3c57 100644 --- a/packages/opentelemetry-exporter-jaeger/src/jaeger.ts +++ b/packages/opentelemetry-exporter-jaeger/src/jaeger.ts @@ -14,12 +14,13 @@ * limitations under the License. */ -import { SpanExporter, ReadableSpan } from '@opentelemetry/tracing'; import { ExportResult } from '@opentelemetry/base'; -import * as jaegerTypes from './types'; import { NoopLogger } from '@opentelemetry/core'; +import { ReadableSpan, SpanExporter } from '@opentelemetry/tracing'; import * as types from '@opentelemetry/types'; +import { Socket } from "dgram"; import { spanToThrift } from './transform'; +import * as jaegerTypes from './types'; /** * Format and sends span information to Jaeger Exporter. @@ -40,6 +41,11 @@ export class JaegerExporter implements SpanExporter { typeof config.flushTimeout === 'number' ? config.flushTimeout : 2000; this._sender = new jaegerTypes.UDPSender(config); + if (this._sender._client instanceof Socket) { + // unref socket to prevent it from keeping the process running + this._sender._client.unref(); + } + this._process = { serviceName: config.serviceName, tags: jaegerTypes.ThriftUtils.getThriftTags(tags), From 7703f9257d66595e77678118c93fb026c156873b Mon Sep 17 00:00:00 2001 From: Daniel Dyla Date: Mon, 20 Jan 2020 21:21:26 -0500 Subject: [PATCH 2/2] chore: fix lint --- packages/opentelemetry-exporter-jaeger/src/jaeger.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/opentelemetry-exporter-jaeger/src/jaeger.ts b/packages/opentelemetry-exporter-jaeger/src/jaeger.ts index d4446b3c57..4ae500f74e 100644 --- a/packages/opentelemetry-exporter-jaeger/src/jaeger.ts +++ b/packages/opentelemetry-exporter-jaeger/src/jaeger.ts @@ -18,7 +18,7 @@ import { ExportResult } from '@opentelemetry/base'; import { NoopLogger } from '@opentelemetry/core'; import { ReadableSpan, SpanExporter } from '@opentelemetry/tracing'; import * as types from '@opentelemetry/types'; -import { Socket } from "dgram"; +import { Socket } from 'dgram'; import { spanToThrift } from './transform'; import * as jaegerTypes from './types';