@opentelemetry/exporter-zipkin 2.7.1 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -45,7 +45,7 @@ const tracerProvider = new NodeTracerProvider({
45
45
  spanProcessors: [new BatchSpanProcessor(exporter)]
46
46
  })
47
47
 
48
- const tracer = traceProvider.getTracer('my-tracer')
48
+ const tracer = tracerProvider.getTracer('my-tracer')
49
49
  ```
50
50
 
51
51
  You can use built-in `SimpleSpanProcessor` or `BatchSpanProcessor` or write your own.
@@ -1,4 +1,4 @@
1
- import type { ReadableSpan, TimedEvent } from '@opentelemetry/sdk-trace-base';
1
+ import type { ReadableSpan, TimedEvent } from '@opentelemetry/sdk-trace';
2
2
  import * as zipkinTypes from './types';
3
3
  export declare const defaultStatusCodeTagName = "otel.status_code";
4
4
  export declare const defaultStatusErrorTagName = "error";
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/transform.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAE1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,WAAW,MAAM,SAAS,CAAC;AAEvC,MAAM,wBAAwB,GAAG;IAC/B,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM;IAClD,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,MAAM;IAClD,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ;IACtD,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,QAAQ,CAAC,QAAQ;IACtD,kCAAkC;IAClC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS;CACnC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,kBAAkB,CAAC;AAC3D,MAAM,CAAC,MAAM,yBAAyB,GAAG,OAAO,CAAC;AAEjD;;;GAGG;AACH,MAAM,UAAU,YAAY,CAC1B,IAAkB,EAClB,WAAmB,EACnB,iBAAyB,EACzB,kBAA0B;IAE1B,MAAM,UAAU,GAAqB;QACnC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO;QACnC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM;QACxC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM;QAC7B,IAAI,EAAE,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;QACzC,SAAS,EAAE,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC;QAC/C,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzD,aAAa,EAAE,EAAE,WAAW,EAAE;QAC9B,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;QAChE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC7B,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC;YACnC,CAAC,CAAC,SAAS;KACd,CAAC;IAEF,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,aAAa,CAC3B,EACE,UAAU,EACV,QAAQ,EACR,MAAM,EACN,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,GACJ,EACf,iBAAyB,EACzB,kBAA0B;IAE1B,MAAM,IAAI,GAA8B,EAAE,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QACzC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;KACrC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE;QAC5C,IAAI,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;KACnE;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,GAAG,CAAC,cAAc,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE;QAC9D,IAAI,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;KAC3C;IACD,yCAAyC;IACzC,IAAI,sBAAsB,EAAE;QAC1B,IAAI,CAAC,+BAA+B,CAAC,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;KACxE;IAED,qCAAqC;IACrC,IAAI,kBAAkB,EAAE;QACtB,IAAI,CAAC,2BAA2B,CAAC,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;KAChE;IAED,oCAAoC;IACpC,IAAI,iBAAiB,EAAE;QACrB,IAAI,CAAC,0BAA0B,CAAC,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;KAC9D;IAED,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,OAAO,CACtC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CACzD,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAoB;IAEpB,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC1B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvD,KAAK,EAAE,KAAK,CAAC,IAAI;KAClB,CAAC,CAAC,CAAC;AACN,CAAC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as api from '@opentelemetry/api';\nimport type { ReadableSpan, TimedEvent } from '@opentelemetry/sdk-trace-base';\nimport { hrTimeToMicroseconds } from '@opentelemetry/core';\nimport * as zipkinTypes from './types';\n\nconst ZIPKIN_SPAN_KIND_MAPPING = {\n [api.SpanKind.CLIENT]: zipkinTypes.SpanKind.CLIENT,\n [api.SpanKind.SERVER]: zipkinTypes.SpanKind.SERVER,\n [api.SpanKind.CONSUMER]: zipkinTypes.SpanKind.CONSUMER,\n [api.SpanKind.PRODUCER]: zipkinTypes.SpanKind.PRODUCER,\n // When absent, the span is local.\n [api.SpanKind.INTERNAL]: undefined,\n};\n\nexport const defaultStatusCodeTagName = 'otel.status_code';\nexport const defaultStatusErrorTagName = 'error';\n\n/**\n * Translate OpenTelemetry ReadableSpan to ZipkinSpan format\n * @param span Span to be translated\n */\nexport function toZipkinSpan(\n span: ReadableSpan,\n serviceName: string,\n statusCodeTagName: string,\n statusErrorTagName: string\n): zipkinTypes.Span {\n const zipkinSpan: zipkinTypes.Span = {\n traceId: span.spanContext().traceId,\n parentId: span.parentSpanContext?.spanId,\n name: span.name,\n id: span.spanContext().spanId,\n kind: ZIPKIN_SPAN_KIND_MAPPING[span.kind],\n timestamp: hrTimeToMicroseconds(span.startTime),\n duration: Math.round(hrTimeToMicroseconds(span.duration)),\n localEndpoint: { serviceName },\n tags: _toZipkinTags(span, statusCodeTagName, statusErrorTagName),\n annotations: span.events.length\n ? _toZipkinAnnotations(span.events)\n : undefined,\n };\n\n return zipkinSpan;\n}\n\n/** Converts OpenTelemetry Span properties to Zipkin Tags format. */\nexport function _toZipkinTags(\n {\n attributes,\n resource,\n status,\n droppedAttributesCount,\n droppedEventsCount,\n droppedLinksCount,\n }: ReadableSpan,\n statusCodeTagName: string,\n statusErrorTagName: string\n): zipkinTypes.Tags {\n const tags: { [key: string]: string } = {};\n for (const key of Object.keys(attributes)) {\n tags[key] = String(attributes[key]);\n }\n if (status.code !== api.SpanStatusCode.UNSET) {\n tags[statusCodeTagName] = String(api.SpanStatusCode[status.code]);\n }\n if (status.code === api.SpanStatusCode.ERROR && status.message) {\n tags[statusErrorTagName] = status.message;\n }\n /* Add droppedAttributesCount as a tag */\n if (droppedAttributesCount) {\n tags['otel.dropped_attributes_count'] = String(droppedAttributesCount);\n }\n\n /* Add droppedEventsCount as a tag */\n if (droppedEventsCount) {\n tags['otel.dropped_events_count'] = String(droppedEventsCount);\n }\n\n /* Add droppedLinksCount as a tag */\n if (droppedLinksCount) {\n tags['otel.dropped_links_count'] = String(droppedLinksCount);\n }\n\n Object.keys(resource.attributes).forEach(\n name => (tags[name] = String(resource.attributes[name]))\n );\n\n return tags;\n}\n\n/**\n * Converts OpenTelemetry Events to Zipkin Annotations format.\n */\nexport function _toZipkinAnnotations(\n events: TimedEvent[]\n): zipkinTypes.Annotation[] {\n return events.map(event => ({\n timestamp: Math.round(hrTimeToMicroseconds(event.time)),\n value: event.name,\n }));\n}\n"]}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/transform.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as api from '@opentelemetry/api';\nimport type { ReadableSpan, TimedEvent } from '@opentelemetry/sdk-trace';\nimport { hrTimeToMicroseconds } from '@opentelemetry/core';\nimport * as zipkinTypes from './types';\n\nconst ZIPKIN_SPAN_KIND_MAPPING = {\n [api.SpanKind.CLIENT]: zipkinTypes.SpanKind.CLIENT,\n [api.SpanKind.SERVER]: zipkinTypes.SpanKind.SERVER,\n [api.SpanKind.CONSUMER]: zipkinTypes.SpanKind.CONSUMER,\n [api.SpanKind.PRODUCER]: zipkinTypes.SpanKind.PRODUCER,\n // When absent, the span is local.\n [api.SpanKind.INTERNAL]: undefined,\n};\n\nexport const defaultStatusCodeTagName = 'otel.status_code';\nexport const defaultStatusErrorTagName = 'error';\n\n/**\n * Translate OpenTelemetry ReadableSpan to ZipkinSpan format\n * @param span Span to be translated\n */\nexport function toZipkinSpan(\n span: ReadableSpan,\n serviceName: string,\n statusCodeTagName: string,\n statusErrorTagName: string\n): zipkinTypes.Span {\n const zipkinSpan: zipkinTypes.Span = {\n traceId: span.spanContext().traceId,\n parentId: span.parentSpanContext?.spanId,\n name: span.name,\n id: span.spanContext().spanId,\n kind: ZIPKIN_SPAN_KIND_MAPPING[span.kind],\n timestamp: hrTimeToMicroseconds(span.startTime),\n duration: Math.round(hrTimeToMicroseconds(span.duration)),\n localEndpoint: { serviceName },\n tags: _toZipkinTags(span, statusCodeTagName, statusErrorTagName),\n annotations: span.events.length\n ? _toZipkinAnnotations(span.events)\n : undefined,\n };\n\n return zipkinSpan;\n}\n\n/** Converts OpenTelemetry Span properties to Zipkin Tags format. */\nexport function _toZipkinTags(\n {\n attributes,\n resource,\n status,\n droppedAttributesCount,\n droppedEventsCount,\n droppedLinksCount,\n }: ReadableSpan,\n statusCodeTagName: string,\n statusErrorTagName: string\n): zipkinTypes.Tags {\n const tags: { [key: string]: string } = {};\n for (const key of Object.keys(attributes)) {\n tags[key] = String(attributes[key]);\n }\n if (status.code !== api.SpanStatusCode.UNSET) {\n tags[statusCodeTagName] = String(api.SpanStatusCode[status.code]);\n }\n if (status.code === api.SpanStatusCode.ERROR && status.message) {\n tags[statusErrorTagName] = status.message;\n }\n /* Add droppedAttributesCount as a tag */\n if (droppedAttributesCount) {\n tags['otel.dropped_attributes_count'] = String(droppedAttributesCount);\n }\n\n /* Add droppedEventsCount as a tag */\n if (droppedEventsCount) {\n tags['otel.dropped_events_count'] = String(droppedEventsCount);\n }\n\n /* Add droppedLinksCount as a tag */\n if (droppedLinksCount) {\n tags['otel.dropped_links_count'] = String(droppedLinksCount);\n }\n\n Object.keys(resource.attributes).forEach(\n name => (tags[name] = String(resource.attributes[name]))\n );\n\n return tags;\n}\n\n/**\n * Converts OpenTelemetry Events to Zipkin Annotations format.\n */\nexport function _toZipkinAnnotations(\n events: TimedEvent[]\n): zipkinTypes.Annotation[] {\n return events.map(event => ({\n timestamp: Math.round(hrTimeToMicroseconds(event.time)),\n value: event.name,\n }));\n}\n"]}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "2.7.1";
1
+ export declare const VERSION = "2.9.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -3,5 +3,5 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  // this is autogenerated file, see scripts/version-update.js
6
- export const VERSION = '2.7.1';
6
+ export const VERSION = '2.9.0';
7
7
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// this is autogenerated file, see scripts/version-update.js\nexport const VERSION = '2.7.1';\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// this is autogenerated file, see scripts/version-update.js\nexport const VERSION = '2.9.0';\n"]}
@@ -1,5 +1,5 @@
1
1
  import type { ExportResult } from '@opentelemetry/core';
2
- import type { SpanExporter, ReadableSpan } from '@opentelemetry/sdk-trace-base';
2
+ import type { SpanExporter, ReadableSpan } from '@opentelemetry/sdk-trace';
3
3
  import type * as zipkinTypes from './types';
4
4
  /**
5
5
  * Zipkin Exporter
@@ -1 +1 @@
1
- {"version":3,"file":"zipkin.js","sourceRoot":"","sources":["../../src/zipkin.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { diag } from '@opentelemetry/api';\nimport type { ExportResult } from '@opentelemetry/core';\nimport { ExportResultCode, getStringFromEnv } from '@opentelemetry/core';\nimport type { SpanExporter, ReadableSpan } from '@opentelemetry/sdk-trace-base';\nimport { prepareSend } from './platform/index';\nimport type * as zipkinTypes from './types';\nimport {\n toZipkinSpan,\n defaultStatusCodeTagName,\n defaultStatusErrorTagName,\n} from './transform';\nimport { ATTR_SERVICE_NAME } from '@opentelemetry/semantic-conventions';\nimport { prepareGetHeaders } from './utils';\n\n/**\n * Zipkin Exporter\n */\nexport class ZipkinExporter implements SpanExporter {\n private readonly DEFAULT_SERVICE_NAME = 'OpenTelemetry Service';\n private readonly _statusCodeTagName: string;\n private readonly _statusDescriptionTagName: string;\n private _urlStr: string;\n private _send: zipkinTypes.SendFunction;\n private _getHeaders: zipkinTypes.GetHeaders | undefined;\n private _serviceName?: string;\n private _isShutdown: boolean;\n private _sendingPromises: Promise<unknown>[] = [];\n\n constructor(config: zipkinTypes.ExporterConfig = {}) {\n this._urlStr =\n config.url ||\n (getStringFromEnv('OTEL_EXPORTER_ZIPKIN_ENDPOINT') ??\n 'http://localhost:9411/api/v2/spans');\n this._send = prepareSend(this._urlStr, config.headers);\n this._serviceName = config.serviceName;\n this._statusCodeTagName =\n config.statusCodeTagName || defaultStatusCodeTagName;\n this._statusDescriptionTagName =\n config.statusDescriptionTagName || defaultStatusErrorTagName;\n this._isShutdown = false;\n if (typeof config.getExportRequestHeaders === 'function') {\n this._getHeaders = prepareGetHeaders(config.getExportRequestHeaders);\n } else {\n // noop\n this._beforeSend = function () {};\n }\n }\n\n /**\n * Export spans.\n */\n export(\n spans: ReadableSpan[],\n resultCallback: (result: ExportResult) => void\n ): void {\n const serviceName = String(\n this._serviceName ||\n spans[0].resource.attributes[ATTR_SERVICE_NAME] ||\n this.DEFAULT_SERVICE_NAME\n );\n\n diag.debug('Zipkin exporter export');\n if (this._isShutdown) {\n setTimeout(() =>\n resultCallback({\n code: ExportResultCode.FAILED,\n error: new Error('Exporter has been shutdown'),\n })\n );\n return;\n }\n const promise = new Promise<void>(resolve => {\n this._sendSpans(spans, serviceName, result => {\n resolve();\n resultCallback(result);\n });\n });\n\n this._sendingPromises.push(promise);\n const popPromise = () => {\n const index = this._sendingPromises.indexOf(promise);\n void this._sendingPromises.splice(index, 1);\n };\n promise.then(popPromise, popPromise);\n }\n\n /**\n * Shutdown exporter. Noop operation in this exporter.\n */\n shutdown(): Promise<void> {\n diag.debug('Zipkin exporter shutdown');\n this._isShutdown = true;\n return this.forceFlush();\n }\n\n /**\n * Exports any pending spans in exporter\n */\n forceFlush(): Promise<void> {\n return new Promise((resolve, reject) => {\n Promise.all(this._sendingPromises).then(() => {\n resolve();\n }, reject);\n });\n }\n\n /**\n * if user defines getExportRequestHeaders in config then this will be called\n * every time before send, otherwise it will be replaced with noop in\n * constructor\n * @default noop\n */\n private _beforeSend() {\n if (this._getHeaders) {\n this._send = prepareSend(this._urlStr, this._getHeaders());\n }\n }\n\n /**\n * Transform spans and sends to Zipkin service.\n */\n private _sendSpans(\n spans: ReadableSpan[],\n serviceName: string,\n done?: (result: ExportResult) => void\n ) {\n const zipkinSpans = spans.map(span =>\n toZipkinSpan(\n span,\n String(\n span.attributes[ATTR_SERVICE_NAME] ||\n span.resource.attributes[ATTR_SERVICE_NAME] ||\n serviceName\n ),\n this._statusCodeTagName,\n this._statusDescriptionTagName\n )\n );\n this._beforeSend();\n return this._send(zipkinSpans, (result: ExportResult) => {\n if (done) {\n return done(result);\n }\n });\n }\n}\n"]}
1
+ {"version":3,"file":"zipkin.js","sourceRoot":"","sources":["../../src/zipkin.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C;;GAEG;AACH,MAAM,OAAO,cAAc;IACR,oBAAoB,GAAG,uBAAuB,CAAC;IAC/C,kBAAkB,CAAS;IAC3B,yBAAyB,CAAS;IAC3C,OAAO,CAAS;IAChB,KAAK,CAA2B;IAChC,WAAW,CAAqC;IAChD,YAAY,CAAU;IACtB,WAAW,CAAU;IACrB,gBAAgB,GAAuB,EAAE,CAAC;IAElD,YAAY,SAAqC,EAAE;QACjD,IAAI,CAAC,OAAO;YACV,MAAM,CAAC,GAAG;gBACV,CAAC,gBAAgB,CAAC,+BAA+B,CAAC;oBAChD,oCAAoC,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,kBAAkB;YACrB,MAAM,CAAC,iBAAiB,IAAI,wBAAwB,CAAC;QACvD,IAAI,CAAC,yBAAyB;YAC5B,MAAM,CAAC,wBAAwB,IAAI,yBAAyB,CAAC;QAC/D,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,OAAO,MAAM,CAAC,uBAAuB,KAAK,UAAU,EAAE;YACxD,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;SACtE;aAAM;YACL,OAAO;YACP,IAAI,CAAC,WAAW,GAAG,cAAa,CAAC,CAAC;SACnC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CACJ,KAAqB,EACrB,cAA8C;QAE9C,MAAM,WAAW,GAAG,MAAM,CACxB,IAAI,CAAC,YAAY;YACf,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC;YAC/C,IAAI,CAAC,oBAAoB,CAC5B,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,UAAU,CAAC,GAAG,EAAE,CACd,cAAc,CAAC;gBACb,IAAI,EAAE,gBAAgB,CAAC,MAAM;gBAC7B,KAAK,EAAE,IAAI,KAAK,CAAC,4BAA4B,CAAC;aAC/C,CAAC,CACH,CAAC;YACF,OAAO;SACR;QACD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YAC1C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE;gBAC3C,OAAO,EAAE,CAAC;gBACV,cAAc,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,GAAG,EAAE;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACrD,KAAK,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3C,OAAO,EAAE,CAAC;YACZ,CAAC,EAAE,MAAM,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,WAAW;QACjB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SAC5D;IACH,CAAC;IAED;;OAEG;IACK,UAAU,CAChB,KAAqB,EACrB,WAAmB,EACnB,IAAqC;QAErC,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CACnC,YAAY,CACV,IAAI,EACJ,MAAM,CACJ,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC;YAC3C,WAAW,CACd,EACD,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,yBAAyB,CAC/B,CACF,CAAC;QACF,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,MAAoB,EAAE,EAAE;YACtD,IAAI,IAAI,EAAE;gBACR,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;aACrB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { diag } from '@opentelemetry/api';\nimport type { ExportResult } from '@opentelemetry/core';\nimport { ExportResultCode, getStringFromEnv } from '@opentelemetry/core';\nimport type { SpanExporter, ReadableSpan } from '@opentelemetry/sdk-trace';\nimport { prepareSend } from './platform/index';\nimport type * as zipkinTypes from './types';\nimport {\n toZipkinSpan,\n defaultStatusCodeTagName,\n defaultStatusErrorTagName,\n} from './transform';\nimport { ATTR_SERVICE_NAME } from '@opentelemetry/semantic-conventions';\nimport { prepareGetHeaders } from './utils';\n\n/**\n * Zipkin Exporter\n */\nexport class ZipkinExporter implements SpanExporter {\n private readonly DEFAULT_SERVICE_NAME = 'OpenTelemetry Service';\n private readonly _statusCodeTagName: string;\n private readonly _statusDescriptionTagName: string;\n private _urlStr: string;\n private _send: zipkinTypes.SendFunction;\n private _getHeaders: zipkinTypes.GetHeaders | undefined;\n private _serviceName?: string;\n private _isShutdown: boolean;\n private _sendingPromises: Promise<unknown>[] = [];\n\n constructor(config: zipkinTypes.ExporterConfig = {}) {\n this._urlStr =\n config.url ||\n (getStringFromEnv('OTEL_EXPORTER_ZIPKIN_ENDPOINT') ??\n 'http://localhost:9411/api/v2/spans');\n this._send = prepareSend(this._urlStr, config.headers);\n this._serviceName = config.serviceName;\n this._statusCodeTagName =\n config.statusCodeTagName || defaultStatusCodeTagName;\n this._statusDescriptionTagName =\n config.statusDescriptionTagName || defaultStatusErrorTagName;\n this._isShutdown = false;\n if (typeof config.getExportRequestHeaders === 'function') {\n this._getHeaders = prepareGetHeaders(config.getExportRequestHeaders);\n } else {\n // noop\n this._beforeSend = function () {};\n }\n }\n\n /**\n * Export spans.\n */\n export(\n spans: ReadableSpan[],\n resultCallback: (result: ExportResult) => void\n ): void {\n const serviceName = String(\n this._serviceName ||\n spans[0].resource.attributes[ATTR_SERVICE_NAME] ||\n this.DEFAULT_SERVICE_NAME\n );\n\n diag.debug('Zipkin exporter export');\n if (this._isShutdown) {\n setTimeout(() =>\n resultCallback({\n code: ExportResultCode.FAILED,\n error: new Error('Exporter has been shutdown'),\n })\n );\n return;\n }\n const promise = new Promise<void>(resolve => {\n this._sendSpans(spans, serviceName, result => {\n resolve();\n resultCallback(result);\n });\n });\n\n this._sendingPromises.push(promise);\n const popPromise = () => {\n const index = this._sendingPromises.indexOf(promise);\n void this._sendingPromises.splice(index, 1);\n };\n promise.then(popPromise, popPromise);\n }\n\n /**\n * Shutdown exporter. Noop operation in this exporter.\n */\n shutdown(): Promise<void> {\n diag.debug('Zipkin exporter shutdown');\n this._isShutdown = true;\n return this.forceFlush();\n }\n\n /**\n * Exports any pending spans in exporter\n */\n forceFlush(): Promise<void> {\n return new Promise((resolve, reject) => {\n Promise.all(this._sendingPromises).then(() => {\n resolve();\n }, reject);\n });\n }\n\n /**\n * if user defines getExportRequestHeaders in config then this will be called\n * every time before send, otherwise it will be replaced with noop in\n * constructor\n * @default noop\n */\n private _beforeSend() {\n if (this._getHeaders) {\n this._send = prepareSend(this._urlStr, this._getHeaders());\n }\n }\n\n /**\n * Transform spans and sends to Zipkin service.\n */\n private _sendSpans(\n spans: ReadableSpan[],\n serviceName: string,\n done?: (result: ExportResult) => void\n ) {\n const zipkinSpans = spans.map(span =>\n toZipkinSpan(\n span,\n String(\n span.attributes[ATTR_SERVICE_NAME] ||\n span.resource.attributes[ATTR_SERVICE_NAME] ||\n serviceName\n ),\n this._statusCodeTagName,\n this._statusDescriptionTagName\n )\n );\n this._beforeSend();\n return this._send(zipkinSpans, (result: ExportResult) => {\n if (done) {\n return done(result);\n }\n });\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { ReadableSpan, TimedEvent } from '@opentelemetry/sdk-trace-base';
1
+ import type { ReadableSpan, TimedEvent } from '@opentelemetry/sdk-trace';
2
2
  import * as zipkinTypes from './types';
3
3
  export declare const defaultStatusCodeTagName = "otel.status_code";
4
4
  export declare const defaultStatusErrorTagName = "error";
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/transform.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as api from '@opentelemetry/api';\nimport type { ReadableSpan, TimedEvent } from '@opentelemetry/sdk-trace-base';\nimport { hrTimeToMicroseconds } from '@opentelemetry/core';\nimport * as zipkinTypes from './types';\n\nconst ZIPKIN_SPAN_KIND_MAPPING = {\n [api.SpanKind.CLIENT]: zipkinTypes.SpanKind.CLIENT,\n [api.SpanKind.SERVER]: zipkinTypes.SpanKind.SERVER,\n [api.SpanKind.CONSUMER]: zipkinTypes.SpanKind.CONSUMER,\n [api.SpanKind.PRODUCER]: zipkinTypes.SpanKind.PRODUCER,\n // When absent, the span is local.\n [api.SpanKind.INTERNAL]: undefined,\n};\n\nexport const defaultStatusCodeTagName = 'otel.status_code';\nexport const defaultStatusErrorTagName = 'error';\n\n/**\n * Translate OpenTelemetry ReadableSpan to ZipkinSpan format\n * @param span Span to be translated\n */\nexport function toZipkinSpan(\n span: ReadableSpan,\n serviceName: string,\n statusCodeTagName: string,\n statusErrorTagName: string\n): zipkinTypes.Span {\n const zipkinSpan: zipkinTypes.Span = {\n traceId: span.spanContext().traceId,\n parentId: span.parentSpanContext?.spanId,\n name: span.name,\n id: span.spanContext().spanId,\n kind: ZIPKIN_SPAN_KIND_MAPPING[span.kind],\n timestamp: hrTimeToMicroseconds(span.startTime),\n duration: Math.round(hrTimeToMicroseconds(span.duration)),\n localEndpoint: { serviceName },\n tags: _toZipkinTags(span, statusCodeTagName, statusErrorTagName),\n annotations: span.events.length\n ? _toZipkinAnnotations(span.events)\n : undefined,\n };\n\n return zipkinSpan;\n}\n\n/** Converts OpenTelemetry Span properties to Zipkin Tags format. */\nexport function _toZipkinTags(\n {\n attributes,\n resource,\n status,\n droppedAttributesCount,\n droppedEventsCount,\n droppedLinksCount,\n }: ReadableSpan,\n statusCodeTagName: string,\n statusErrorTagName: string\n): zipkinTypes.Tags {\n const tags: { [key: string]: string } = {};\n for (const key of Object.keys(attributes)) {\n tags[key] = String(attributes[key]);\n }\n if (status.code !== api.SpanStatusCode.UNSET) {\n tags[statusCodeTagName] = String(api.SpanStatusCode[status.code]);\n }\n if (status.code === api.SpanStatusCode.ERROR && status.message) {\n tags[statusErrorTagName] = status.message;\n }\n /* Add droppedAttributesCount as a tag */\n if (droppedAttributesCount) {\n tags['otel.dropped_attributes_count'] = String(droppedAttributesCount);\n }\n\n /* Add droppedEventsCount as a tag */\n if (droppedEventsCount) {\n tags['otel.dropped_events_count'] = String(droppedEventsCount);\n }\n\n /* Add droppedLinksCount as a tag */\n if (droppedLinksCount) {\n tags['otel.dropped_links_count'] = String(droppedLinksCount);\n }\n\n Object.keys(resource.attributes).forEach(\n name => (tags[name] = String(resource.attributes[name]))\n );\n\n return tags;\n}\n\n/**\n * Converts OpenTelemetry Events to Zipkin Annotations format.\n */\nexport function _toZipkinAnnotations(\n events: TimedEvent[]\n): zipkinTypes.Annotation[] {\n return events.map(event => ({\n timestamp: Math.round(hrTimeToMicroseconds(event.time)),\n value: event.name,\n }));\n}\n"]}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/transform.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as api from '@opentelemetry/api';\nimport type { ReadableSpan, TimedEvent } from '@opentelemetry/sdk-trace';\nimport { hrTimeToMicroseconds } from '@opentelemetry/core';\nimport * as zipkinTypes from './types';\n\nconst ZIPKIN_SPAN_KIND_MAPPING = {\n [api.SpanKind.CLIENT]: zipkinTypes.SpanKind.CLIENT,\n [api.SpanKind.SERVER]: zipkinTypes.SpanKind.SERVER,\n [api.SpanKind.CONSUMER]: zipkinTypes.SpanKind.CONSUMER,\n [api.SpanKind.PRODUCER]: zipkinTypes.SpanKind.PRODUCER,\n // When absent, the span is local.\n [api.SpanKind.INTERNAL]: undefined,\n};\n\nexport const defaultStatusCodeTagName = 'otel.status_code';\nexport const defaultStatusErrorTagName = 'error';\n\n/**\n * Translate OpenTelemetry ReadableSpan to ZipkinSpan format\n * @param span Span to be translated\n */\nexport function toZipkinSpan(\n span: ReadableSpan,\n serviceName: string,\n statusCodeTagName: string,\n statusErrorTagName: string\n): zipkinTypes.Span {\n const zipkinSpan: zipkinTypes.Span = {\n traceId: span.spanContext().traceId,\n parentId: span.parentSpanContext?.spanId,\n name: span.name,\n id: span.spanContext().spanId,\n kind: ZIPKIN_SPAN_KIND_MAPPING[span.kind],\n timestamp: hrTimeToMicroseconds(span.startTime),\n duration: Math.round(hrTimeToMicroseconds(span.duration)),\n localEndpoint: { serviceName },\n tags: _toZipkinTags(span, statusCodeTagName, statusErrorTagName),\n annotations: span.events.length\n ? _toZipkinAnnotations(span.events)\n : undefined,\n };\n\n return zipkinSpan;\n}\n\n/** Converts OpenTelemetry Span properties to Zipkin Tags format. */\nexport function _toZipkinTags(\n {\n attributes,\n resource,\n status,\n droppedAttributesCount,\n droppedEventsCount,\n droppedLinksCount,\n }: ReadableSpan,\n statusCodeTagName: string,\n statusErrorTagName: string\n): zipkinTypes.Tags {\n const tags: { [key: string]: string } = {};\n for (const key of Object.keys(attributes)) {\n tags[key] = String(attributes[key]);\n }\n if (status.code !== api.SpanStatusCode.UNSET) {\n tags[statusCodeTagName] = String(api.SpanStatusCode[status.code]);\n }\n if (status.code === api.SpanStatusCode.ERROR && status.message) {\n tags[statusErrorTagName] = status.message;\n }\n /* Add droppedAttributesCount as a tag */\n if (droppedAttributesCount) {\n tags['otel.dropped_attributes_count'] = String(droppedAttributesCount);\n }\n\n /* Add droppedEventsCount as a tag */\n if (droppedEventsCount) {\n tags['otel.dropped_events_count'] = String(droppedEventsCount);\n }\n\n /* Add droppedLinksCount as a tag */\n if (droppedLinksCount) {\n tags['otel.dropped_links_count'] = String(droppedLinksCount);\n }\n\n Object.keys(resource.attributes).forEach(\n name => (tags[name] = String(resource.attributes[name]))\n );\n\n return tags;\n}\n\n/**\n * Converts OpenTelemetry Events to Zipkin Annotations format.\n */\nexport function _toZipkinAnnotations(\n events: TimedEvent[]\n): zipkinTypes.Annotation[] {\n return events.map(event => ({\n timestamp: Math.round(hrTimeToMicroseconds(event.time)),\n value: event.name,\n }));\n}\n"]}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "2.7.1";
1
+ export declare const VERSION = "2.9.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -3,5 +3,5 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  // this is autogenerated file, see scripts/version-update.js
6
- export const VERSION = '2.7.1';
6
+ export const VERSION = '2.9.0';
7
7
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// this is autogenerated file, see scripts/version-update.js\nexport const VERSION = '2.7.1';\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// this is autogenerated file, see scripts/version-update.js\nexport const VERSION = '2.9.0';\n"]}
@@ -1,5 +1,5 @@
1
1
  import type { ExportResult } from '@opentelemetry/core';
2
- import type { SpanExporter, ReadableSpan } from '@opentelemetry/sdk-trace-base';
2
+ import type { SpanExporter, ReadableSpan } from '@opentelemetry/sdk-trace';
3
3
  import type * as zipkinTypes from './types';
4
4
  /**
5
5
  * Zipkin Exporter
@@ -1 +1 @@
1
- {"version":3,"file":"zipkin.js","sourceRoot":"","sources":["../../src/zipkin.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { diag } from '@opentelemetry/api';\nimport type { ExportResult } from '@opentelemetry/core';\nimport { ExportResultCode, getStringFromEnv } from '@opentelemetry/core';\nimport type { SpanExporter, ReadableSpan } from '@opentelemetry/sdk-trace-base';\nimport { prepareSend } from './platform/index';\nimport type * as zipkinTypes from './types';\nimport {\n toZipkinSpan,\n defaultStatusCodeTagName,\n defaultStatusErrorTagName,\n} from './transform';\nimport { ATTR_SERVICE_NAME } from '@opentelemetry/semantic-conventions';\nimport { prepareGetHeaders } from './utils';\n\n/**\n * Zipkin Exporter\n */\nexport class ZipkinExporter implements SpanExporter {\n private readonly DEFAULT_SERVICE_NAME = 'OpenTelemetry Service';\n private readonly _statusCodeTagName: string;\n private readonly _statusDescriptionTagName: string;\n private _urlStr: string;\n private _send: zipkinTypes.SendFunction;\n private _getHeaders: zipkinTypes.GetHeaders | undefined;\n private _serviceName?: string;\n private _isShutdown: boolean;\n private _sendingPromises: Promise<unknown>[] = [];\n\n constructor(config: zipkinTypes.ExporterConfig = {}) {\n this._urlStr =\n config.url ||\n (getStringFromEnv('OTEL_EXPORTER_ZIPKIN_ENDPOINT') ??\n 'http://localhost:9411/api/v2/spans');\n this._send = prepareSend(this._urlStr, config.headers);\n this._serviceName = config.serviceName;\n this._statusCodeTagName =\n config.statusCodeTagName || defaultStatusCodeTagName;\n this._statusDescriptionTagName =\n config.statusDescriptionTagName || defaultStatusErrorTagName;\n this._isShutdown = false;\n if (typeof config.getExportRequestHeaders === 'function') {\n this._getHeaders = prepareGetHeaders(config.getExportRequestHeaders);\n } else {\n // noop\n this._beforeSend = function () {};\n }\n }\n\n /**\n * Export spans.\n */\n export(\n spans: ReadableSpan[],\n resultCallback: (result: ExportResult) => void\n ): void {\n const serviceName = String(\n this._serviceName ||\n spans[0].resource.attributes[ATTR_SERVICE_NAME] ||\n this.DEFAULT_SERVICE_NAME\n );\n\n diag.debug('Zipkin exporter export');\n if (this._isShutdown) {\n setTimeout(() =>\n resultCallback({\n code: ExportResultCode.FAILED,\n error: new Error('Exporter has been shutdown'),\n })\n );\n return;\n }\n const promise = new Promise<void>(resolve => {\n this._sendSpans(spans, serviceName, result => {\n resolve();\n resultCallback(result);\n });\n });\n\n this._sendingPromises.push(promise);\n const popPromise = () => {\n const index = this._sendingPromises.indexOf(promise);\n void this._sendingPromises.splice(index, 1);\n };\n promise.then(popPromise, popPromise);\n }\n\n /**\n * Shutdown exporter. Noop operation in this exporter.\n */\n shutdown(): Promise<void> {\n diag.debug('Zipkin exporter shutdown');\n this._isShutdown = true;\n return this.forceFlush();\n }\n\n /**\n * Exports any pending spans in exporter\n */\n forceFlush(): Promise<void> {\n return new Promise((resolve, reject) => {\n Promise.all(this._sendingPromises).then(() => {\n resolve();\n }, reject);\n });\n }\n\n /**\n * if user defines getExportRequestHeaders in config then this will be called\n * every time before send, otherwise it will be replaced with noop in\n * constructor\n * @default noop\n */\n private _beforeSend() {\n if (this._getHeaders) {\n this._send = prepareSend(this._urlStr, this._getHeaders());\n }\n }\n\n /**\n * Transform spans and sends to Zipkin service.\n */\n private _sendSpans(\n spans: ReadableSpan[],\n serviceName: string,\n done?: (result: ExportResult) => void\n ) {\n const zipkinSpans = spans.map(span =>\n toZipkinSpan(\n span,\n String(\n span.attributes[ATTR_SERVICE_NAME] ||\n span.resource.attributes[ATTR_SERVICE_NAME] ||\n serviceName\n ),\n this._statusCodeTagName,\n this._statusDescriptionTagName\n )\n );\n this._beforeSend();\n return this._send(zipkinSpans, (result: ExportResult) => {\n if (done) {\n return done(result);\n }\n });\n }\n}\n"]}
1
+ {"version":3,"file":"zipkin.js","sourceRoot":"","sources":["../../src/zipkin.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { diag } from '@opentelemetry/api';\nimport type { ExportResult } from '@opentelemetry/core';\nimport { ExportResultCode, getStringFromEnv } from '@opentelemetry/core';\nimport type { SpanExporter, ReadableSpan } from '@opentelemetry/sdk-trace';\nimport { prepareSend } from './platform/index';\nimport type * as zipkinTypes from './types';\nimport {\n toZipkinSpan,\n defaultStatusCodeTagName,\n defaultStatusErrorTagName,\n} from './transform';\nimport { ATTR_SERVICE_NAME } from '@opentelemetry/semantic-conventions';\nimport { prepareGetHeaders } from './utils';\n\n/**\n * Zipkin Exporter\n */\nexport class ZipkinExporter implements SpanExporter {\n private readonly DEFAULT_SERVICE_NAME = 'OpenTelemetry Service';\n private readonly _statusCodeTagName: string;\n private readonly _statusDescriptionTagName: string;\n private _urlStr: string;\n private _send: zipkinTypes.SendFunction;\n private _getHeaders: zipkinTypes.GetHeaders | undefined;\n private _serviceName?: string;\n private _isShutdown: boolean;\n private _sendingPromises: Promise<unknown>[] = [];\n\n constructor(config: zipkinTypes.ExporterConfig = {}) {\n this._urlStr =\n config.url ||\n (getStringFromEnv('OTEL_EXPORTER_ZIPKIN_ENDPOINT') ??\n 'http://localhost:9411/api/v2/spans');\n this._send = prepareSend(this._urlStr, config.headers);\n this._serviceName = config.serviceName;\n this._statusCodeTagName =\n config.statusCodeTagName || defaultStatusCodeTagName;\n this._statusDescriptionTagName =\n config.statusDescriptionTagName || defaultStatusErrorTagName;\n this._isShutdown = false;\n if (typeof config.getExportRequestHeaders === 'function') {\n this._getHeaders = prepareGetHeaders(config.getExportRequestHeaders);\n } else {\n // noop\n this._beforeSend = function () {};\n }\n }\n\n /**\n * Export spans.\n */\n export(\n spans: ReadableSpan[],\n resultCallback: (result: ExportResult) => void\n ): void {\n const serviceName = String(\n this._serviceName ||\n spans[0].resource.attributes[ATTR_SERVICE_NAME] ||\n this.DEFAULT_SERVICE_NAME\n );\n\n diag.debug('Zipkin exporter export');\n if (this._isShutdown) {\n setTimeout(() =>\n resultCallback({\n code: ExportResultCode.FAILED,\n error: new Error('Exporter has been shutdown'),\n })\n );\n return;\n }\n const promise = new Promise<void>(resolve => {\n this._sendSpans(spans, serviceName, result => {\n resolve();\n resultCallback(result);\n });\n });\n\n this._sendingPromises.push(promise);\n const popPromise = () => {\n const index = this._sendingPromises.indexOf(promise);\n void this._sendingPromises.splice(index, 1);\n };\n promise.then(popPromise, popPromise);\n }\n\n /**\n * Shutdown exporter. Noop operation in this exporter.\n */\n shutdown(): Promise<void> {\n diag.debug('Zipkin exporter shutdown');\n this._isShutdown = true;\n return this.forceFlush();\n }\n\n /**\n * Exports any pending spans in exporter\n */\n forceFlush(): Promise<void> {\n return new Promise((resolve, reject) => {\n Promise.all(this._sendingPromises).then(() => {\n resolve();\n }, reject);\n });\n }\n\n /**\n * if user defines getExportRequestHeaders in config then this will be called\n * every time before send, otherwise it will be replaced with noop in\n * constructor\n * @default noop\n */\n private _beforeSend() {\n if (this._getHeaders) {\n this._send = prepareSend(this._urlStr, this._getHeaders());\n }\n }\n\n /**\n * Transform spans and sends to Zipkin service.\n */\n private _sendSpans(\n spans: ReadableSpan[],\n serviceName: string,\n done?: (result: ExportResult) => void\n ) {\n const zipkinSpans = spans.map(span =>\n toZipkinSpan(\n span,\n String(\n span.attributes[ATTR_SERVICE_NAME] ||\n span.resource.attributes[ATTR_SERVICE_NAME] ||\n serviceName\n ),\n this._statusCodeTagName,\n this._statusDescriptionTagName\n )\n );\n this._beforeSend();\n return this._send(zipkinSpans, (result: ExportResult) => {\n if (done) {\n return done(result);\n }\n });\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import type { ReadableSpan, TimedEvent } from '@opentelemetry/sdk-trace-base';
1
+ import type { ReadableSpan, TimedEvent } from '@opentelemetry/sdk-trace';
2
2
  import * as zipkinTypes from './types';
3
3
  export declare const defaultStatusCodeTagName = "otel.status_code";
4
4
  export declare const defaultStatusErrorTagName = "error";
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/transform.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as api from '@opentelemetry/api';\nimport type { ReadableSpan, TimedEvent } from '@opentelemetry/sdk-trace-base';\nimport { hrTimeToMicroseconds } from '@opentelemetry/core';\nimport * as zipkinTypes from './types';\n\nconst ZIPKIN_SPAN_KIND_MAPPING = {\n [api.SpanKind.CLIENT]: zipkinTypes.SpanKind.CLIENT,\n [api.SpanKind.SERVER]: zipkinTypes.SpanKind.SERVER,\n [api.SpanKind.CONSUMER]: zipkinTypes.SpanKind.CONSUMER,\n [api.SpanKind.PRODUCER]: zipkinTypes.SpanKind.PRODUCER,\n // When absent, the span is local.\n [api.SpanKind.INTERNAL]: undefined,\n};\n\nexport const defaultStatusCodeTagName = 'otel.status_code';\nexport const defaultStatusErrorTagName = 'error';\n\n/**\n * Translate OpenTelemetry ReadableSpan to ZipkinSpan format\n * @param span Span to be translated\n */\nexport function toZipkinSpan(\n span: ReadableSpan,\n serviceName: string,\n statusCodeTagName: string,\n statusErrorTagName: string\n): zipkinTypes.Span {\n const zipkinSpan: zipkinTypes.Span = {\n traceId: span.spanContext().traceId,\n parentId: span.parentSpanContext?.spanId,\n name: span.name,\n id: span.spanContext().spanId,\n kind: ZIPKIN_SPAN_KIND_MAPPING[span.kind],\n timestamp: hrTimeToMicroseconds(span.startTime),\n duration: Math.round(hrTimeToMicroseconds(span.duration)),\n localEndpoint: { serviceName },\n tags: _toZipkinTags(span, statusCodeTagName, statusErrorTagName),\n annotations: span.events.length\n ? _toZipkinAnnotations(span.events)\n : undefined,\n };\n\n return zipkinSpan;\n}\n\n/** Converts OpenTelemetry Span properties to Zipkin Tags format. */\nexport function _toZipkinTags(\n {\n attributes,\n resource,\n status,\n droppedAttributesCount,\n droppedEventsCount,\n droppedLinksCount,\n }: ReadableSpan,\n statusCodeTagName: string,\n statusErrorTagName: string\n): zipkinTypes.Tags {\n const tags: { [key: string]: string } = {};\n for (const key of Object.keys(attributes)) {\n tags[key] = String(attributes[key]);\n }\n if (status.code !== api.SpanStatusCode.UNSET) {\n tags[statusCodeTagName] = String(api.SpanStatusCode[status.code]);\n }\n if (status.code === api.SpanStatusCode.ERROR && status.message) {\n tags[statusErrorTagName] = status.message;\n }\n /* Add droppedAttributesCount as a tag */\n if (droppedAttributesCount) {\n tags['otel.dropped_attributes_count'] = String(droppedAttributesCount);\n }\n\n /* Add droppedEventsCount as a tag */\n if (droppedEventsCount) {\n tags['otel.dropped_events_count'] = String(droppedEventsCount);\n }\n\n /* Add droppedLinksCount as a tag */\n if (droppedLinksCount) {\n tags['otel.dropped_links_count'] = String(droppedLinksCount);\n }\n\n Object.keys(resource.attributes).forEach(\n name => (tags[name] = String(resource.attributes[name]))\n );\n\n return tags;\n}\n\n/**\n * Converts OpenTelemetry Events to Zipkin Annotations format.\n */\nexport function _toZipkinAnnotations(\n events: TimedEvent[]\n): zipkinTypes.Annotation[] {\n return events.map(event => ({\n timestamp: Math.round(hrTimeToMicroseconds(event.time)),\n value: event.name,\n }));\n}\n"]}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../src/transform.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport * as api from '@opentelemetry/api';\nimport type { ReadableSpan, TimedEvent } from '@opentelemetry/sdk-trace';\nimport { hrTimeToMicroseconds } from '@opentelemetry/core';\nimport * as zipkinTypes from './types';\n\nconst ZIPKIN_SPAN_KIND_MAPPING = {\n [api.SpanKind.CLIENT]: zipkinTypes.SpanKind.CLIENT,\n [api.SpanKind.SERVER]: zipkinTypes.SpanKind.SERVER,\n [api.SpanKind.CONSUMER]: zipkinTypes.SpanKind.CONSUMER,\n [api.SpanKind.PRODUCER]: zipkinTypes.SpanKind.PRODUCER,\n // When absent, the span is local.\n [api.SpanKind.INTERNAL]: undefined,\n};\n\nexport const defaultStatusCodeTagName = 'otel.status_code';\nexport const defaultStatusErrorTagName = 'error';\n\n/**\n * Translate OpenTelemetry ReadableSpan to ZipkinSpan format\n * @param span Span to be translated\n */\nexport function toZipkinSpan(\n span: ReadableSpan,\n serviceName: string,\n statusCodeTagName: string,\n statusErrorTagName: string\n): zipkinTypes.Span {\n const zipkinSpan: zipkinTypes.Span = {\n traceId: span.spanContext().traceId,\n parentId: span.parentSpanContext?.spanId,\n name: span.name,\n id: span.spanContext().spanId,\n kind: ZIPKIN_SPAN_KIND_MAPPING[span.kind],\n timestamp: hrTimeToMicroseconds(span.startTime),\n duration: Math.round(hrTimeToMicroseconds(span.duration)),\n localEndpoint: { serviceName },\n tags: _toZipkinTags(span, statusCodeTagName, statusErrorTagName),\n annotations: span.events.length\n ? _toZipkinAnnotations(span.events)\n : undefined,\n };\n\n return zipkinSpan;\n}\n\n/** Converts OpenTelemetry Span properties to Zipkin Tags format. */\nexport function _toZipkinTags(\n {\n attributes,\n resource,\n status,\n droppedAttributesCount,\n droppedEventsCount,\n droppedLinksCount,\n }: ReadableSpan,\n statusCodeTagName: string,\n statusErrorTagName: string\n): zipkinTypes.Tags {\n const tags: { [key: string]: string } = {};\n for (const key of Object.keys(attributes)) {\n tags[key] = String(attributes[key]);\n }\n if (status.code !== api.SpanStatusCode.UNSET) {\n tags[statusCodeTagName] = String(api.SpanStatusCode[status.code]);\n }\n if (status.code === api.SpanStatusCode.ERROR && status.message) {\n tags[statusErrorTagName] = status.message;\n }\n /* Add droppedAttributesCount as a tag */\n if (droppedAttributesCount) {\n tags['otel.dropped_attributes_count'] = String(droppedAttributesCount);\n }\n\n /* Add droppedEventsCount as a tag */\n if (droppedEventsCount) {\n tags['otel.dropped_events_count'] = String(droppedEventsCount);\n }\n\n /* Add droppedLinksCount as a tag */\n if (droppedLinksCount) {\n tags['otel.dropped_links_count'] = String(droppedLinksCount);\n }\n\n Object.keys(resource.attributes).forEach(\n name => (tags[name] = String(resource.attributes[name]))\n );\n\n return tags;\n}\n\n/**\n * Converts OpenTelemetry Events to Zipkin Annotations format.\n */\nexport function _toZipkinAnnotations(\n events: TimedEvent[]\n): zipkinTypes.Annotation[] {\n return events.map(event => ({\n timestamp: Math.round(hrTimeToMicroseconds(event.time)),\n value: event.name,\n }));\n}\n"]}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "2.7.1";
1
+ export declare const VERSION = "2.9.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -6,5 +6,5 @@
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.VERSION = void 0;
8
8
  // this is autogenerated file, see scripts/version-update.js
9
- exports.VERSION = '2.7.1';
9
+ exports.VERSION = '2.9.0';
10
10
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,4DAA4D;AAC/C,QAAA,OAAO,GAAG,OAAO,CAAC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// this is autogenerated file, see scripts/version-update.js\nexport const VERSION = '2.7.1';\n"]}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,4DAA4D;AAC/C,QAAA,OAAO,GAAG,OAAO,CAAC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\n// this is autogenerated file, see scripts/version-update.js\nexport const VERSION = '2.9.0';\n"]}
@@ -1,5 +1,5 @@
1
1
  import type { ExportResult } from '@opentelemetry/core';
2
- import type { SpanExporter, ReadableSpan } from '@opentelemetry/sdk-trace-base';
2
+ import type { SpanExporter, ReadableSpan } from '@opentelemetry/sdk-trace';
3
3
  import type * as zipkinTypes from './types';
4
4
  /**
5
5
  * Zipkin Exporter
@@ -1 +1 @@
1
- {"version":3,"file":"zipkin.js","sourceRoot":"","sources":["../../src/zipkin.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,4CAA0C;AAE1C,8CAAyE;AAEzE,4CAA+C;AAE/C,2CAIqB;AACrB,8EAAwE;AACxE,mCAA4C;AAE5C;;GAEG;AACH,MAAa,cAAc;IACR,oBAAoB,GAAG,uBAAuB,CAAC;IAC/C,kBAAkB,CAAS;IAC3B,yBAAyB,CAAS;IAC3C,OAAO,CAAS;IAChB,KAAK,CAA2B;IAChC,WAAW,CAAqC;IAChD,YAAY,CAAU;IACtB,WAAW,CAAU;IACrB,gBAAgB,GAAuB,EAAE,CAAC;IAElD,YAAY,SAAqC,EAAE;QACjD,IAAI,CAAC,OAAO;YACV,MAAM,CAAC,GAAG;gBACV,CAAC,IAAA,uBAAgB,EAAC,+BAA+B,CAAC;oBAChD,oCAAoC,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,kBAAkB;YACrB,MAAM,CAAC,iBAAiB,IAAI,oCAAwB,CAAC;QACvD,IAAI,CAAC,yBAAyB;YAC5B,MAAM,CAAC,wBAAwB,IAAI,qCAAyB,CAAC;QAC/D,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,OAAO,MAAM,CAAC,uBAAuB,KAAK,UAAU,EAAE;YACxD,IAAI,CAAC,WAAW,GAAG,IAAA,yBAAiB,EAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;SACtE;aAAM;YACL,OAAO;YACP,IAAI,CAAC,WAAW,GAAG,cAAa,CAAC,CAAC;SACnC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CACJ,KAAqB,EACrB,cAA8C;QAE9C,MAAM,WAAW,GAAG,MAAM,CACxB,IAAI,CAAC,YAAY;YACf,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,wCAAiB,CAAC;YAC/C,IAAI,CAAC,oBAAoB,CAC5B,CAAC;QAEF,UAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,UAAU,CAAC,GAAG,EAAE,CACd,cAAc,CAAC;gBACb,IAAI,EAAE,uBAAgB,CAAC,MAAM;gBAC7B,KAAK,EAAE,IAAI,KAAK,CAAC,4BAA4B,CAAC;aAC/C,CAAC,CACH,CAAC;YACF,OAAO;SACR;QACD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;YAC1C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE;gBAC3C,OAAO,EAAE,CAAC;gBACV,cAAc,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,GAAG,EAAE;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACrD,KAAK,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9C,CAAC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,UAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC3C,OAAO,EAAE,CAAC;YACZ,CAAC,EAAE,MAAM,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,WAAW;QACjB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,KAAK,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;SAC5D;IACH,CAAC;IAED;;OAEG;IACK,UAAU,CAChB,KAAqB,EACrB,WAAmB,EACnB,IAAqC;QAErC,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CACnC,IAAA,wBAAY,EACV,IAAI,EACJ,MAAM,CACJ,IAAI,CAAC,UAAU,CAAC,wCAAiB,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,wCAAiB,CAAC;YAC3C,WAAW,CACd,EACD,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,yBAAyB,CAC/B,CACF,CAAC;QACF,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,MAAoB,EAAE,EAAE;YACtD,IAAI,IAAI,EAAE;gBACR,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;aACrB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAhID,wCAgIC","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { diag } from '@opentelemetry/api';\nimport type { ExportResult } from '@opentelemetry/core';\nimport { ExportResultCode, getStringFromEnv } from '@opentelemetry/core';\nimport type { SpanExporter, ReadableSpan } from '@opentelemetry/sdk-trace-base';\nimport { prepareSend } from './platform/index';\nimport type * as zipkinTypes from './types';\nimport {\n toZipkinSpan,\n defaultStatusCodeTagName,\n defaultStatusErrorTagName,\n} from './transform';\nimport { ATTR_SERVICE_NAME } from '@opentelemetry/semantic-conventions';\nimport { prepareGetHeaders } from './utils';\n\n/**\n * Zipkin Exporter\n */\nexport class ZipkinExporter implements SpanExporter {\n private readonly DEFAULT_SERVICE_NAME = 'OpenTelemetry Service';\n private readonly _statusCodeTagName: string;\n private readonly _statusDescriptionTagName: string;\n private _urlStr: string;\n private _send: zipkinTypes.SendFunction;\n private _getHeaders: zipkinTypes.GetHeaders | undefined;\n private _serviceName?: string;\n private _isShutdown: boolean;\n private _sendingPromises: Promise<unknown>[] = [];\n\n constructor(config: zipkinTypes.ExporterConfig = {}) {\n this._urlStr =\n config.url ||\n (getStringFromEnv('OTEL_EXPORTER_ZIPKIN_ENDPOINT') ??\n 'http://localhost:9411/api/v2/spans');\n this._send = prepareSend(this._urlStr, config.headers);\n this._serviceName = config.serviceName;\n this._statusCodeTagName =\n config.statusCodeTagName || defaultStatusCodeTagName;\n this._statusDescriptionTagName =\n config.statusDescriptionTagName || defaultStatusErrorTagName;\n this._isShutdown = false;\n if (typeof config.getExportRequestHeaders === 'function') {\n this._getHeaders = prepareGetHeaders(config.getExportRequestHeaders);\n } else {\n // noop\n this._beforeSend = function () {};\n }\n }\n\n /**\n * Export spans.\n */\n export(\n spans: ReadableSpan[],\n resultCallback: (result: ExportResult) => void\n ): void {\n const serviceName = String(\n this._serviceName ||\n spans[0].resource.attributes[ATTR_SERVICE_NAME] ||\n this.DEFAULT_SERVICE_NAME\n );\n\n diag.debug('Zipkin exporter export');\n if (this._isShutdown) {\n setTimeout(() =>\n resultCallback({\n code: ExportResultCode.FAILED,\n error: new Error('Exporter has been shutdown'),\n })\n );\n return;\n }\n const promise = new Promise<void>(resolve => {\n this._sendSpans(spans, serviceName, result => {\n resolve();\n resultCallback(result);\n });\n });\n\n this._sendingPromises.push(promise);\n const popPromise = () => {\n const index = this._sendingPromises.indexOf(promise);\n void this._sendingPromises.splice(index, 1);\n };\n promise.then(popPromise, popPromise);\n }\n\n /**\n * Shutdown exporter. Noop operation in this exporter.\n */\n shutdown(): Promise<void> {\n diag.debug('Zipkin exporter shutdown');\n this._isShutdown = true;\n return this.forceFlush();\n }\n\n /**\n * Exports any pending spans in exporter\n */\n forceFlush(): Promise<void> {\n return new Promise((resolve, reject) => {\n Promise.all(this._sendingPromises).then(() => {\n resolve();\n }, reject);\n });\n }\n\n /**\n * if user defines getExportRequestHeaders in config then this will be called\n * every time before send, otherwise it will be replaced with noop in\n * constructor\n * @default noop\n */\n private _beforeSend() {\n if (this._getHeaders) {\n this._send = prepareSend(this._urlStr, this._getHeaders());\n }\n }\n\n /**\n * Transform spans and sends to Zipkin service.\n */\n private _sendSpans(\n spans: ReadableSpan[],\n serviceName: string,\n done?: (result: ExportResult) => void\n ) {\n const zipkinSpans = spans.map(span =>\n toZipkinSpan(\n span,\n String(\n span.attributes[ATTR_SERVICE_NAME] ||\n span.resource.attributes[ATTR_SERVICE_NAME] ||\n serviceName\n ),\n this._statusCodeTagName,\n this._statusDescriptionTagName\n )\n );\n this._beforeSend();\n return this._send(zipkinSpans, (result: ExportResult) => {\n if (done) {\n return done(result);\n }\n });\n }\n}\n"]}
1
+ {"version":3,"file":"zipkin.js","sourceRoot":"","sources":["../../src/zipkin.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { diag } from '@opentelemetry/api';\nimport type { ExportResult } from '@opentelemetry/core';\nimport { ExportResultCode, getStringFromEnv } from '@opentelemetry/core';\nimport type { SpanExporter, ReadableSpan } from '@opentelemetry/sdk-trace';\nimport { prepareSend } from './platform/index';\nimport type * as zipkinTypes from './types';\nimport {\n toZipkinSpan,\n defaultStatusCodeTagName,\n defaultStatusErrorTagName,\n} from './transform';\nimport { ATTR_SERVICE_NAME } from '@opentelemetry/semantic-conventions';\nimport { prepareGetHeaders } from './utils';\n\n/**\n * Zipkin Exporter\n */\nexport class ZipkinExporter implements SpanExporter {\n private readonly DEFAULT_SERVICE_NAME = 'OpenTelemetry Service';\n private readonly _statusCodeTagName: string;\n private readonly _statusDescriptionTagName: string;\n private _urlStr: string;\n private _send: zipkinTypes.SendFunction;\n private _getHeaders: zipkinTypes.GetHeaders | undefined;\n private _serviceName?: string;\n private _isShutdown: boolean;\n private _sendingPromises: Promise<unknown>[] = [];\n\n constructor(config: zipkinTypes.ExporterConfig = {}) {\n this._urlStr =\n config.url ||\n (getStringFromEnv('OTEL_EXPORTER_ZIPKIN_ENDPOINT') ??\n 'http://localhost:9411/api/v2/spans');\n this._send = prepareSend(this._urlStr, config.headers);\n this._serviceName = config.serviceName;\n this._statusCodeTagName =\n config.statusCodeTagName || defaultStatusCodeTagName;\n this._statusDescriptionTagName =\n config.statusDescriptionTagName || defaultStatusErrorTagName;\n this._isShutdown = false;\n if (typeof config.getExportRequestHeaders === 'function') {\n this._getHeaders = prepareGetHeaders(config.getExportRequestHeaders);\n } else {\n // noop\n this._beforeSend = function () {};\n }\n }\n\n /**\n * Export spans.\n */\n export(\n spans: ReadableSpan[],\n resultCallback: (result: ExportResult) => void\n ): void {\n const serviceName = String(\n this._serviceName ||\n spans[0].resource.attributes[ATTR_SERVICE_NAME] ||\n this.DEFAULT_SERVICE_NAME\n );\n\n diag.debug('Zipkin exporter export');\n if (this._isShutdown) {\n setTimeout(() =>\n resultCallback({\n code: ExportResultCode.FAILED,\n error: new Error('Exporter has been shutdown'),\n })\n );\n return;\n }\n const promise = new Promise<void>(resolve => {\n this._sendSpans(spans, serviceName, result => {\n resolve();\n resultCallback(result);\n });\n });\n\n this._sendingPromises.push(promise);\n const popPromise = () => {\n const index = this._sendingPromises.indexOf(promise);\n void this._sendingPromises.splice(index, 1);\n };\n promise.then(popPromise, popPromise);\n }\n\n /**\n * Shutdown exporter. Noop operation in this exporter.\n */\n shutdown(): Promise<void> {\n diag.debug('Zipkin exporter shutdown');\n this._isShutdown = true;\n return this.forceFlush();\n }\n\n /**\n * Exports any pending spans in exporter\n */\n forceFlush(): Promise<void> {\n return new Promise((resolve, reject) => {\n Promise.all(this._sendingPromises).then(() => {\n resolve();\n }, reject);\n });\n }\n\n /**\n * if user defines getExportRequestHeaders in config then this will be called\n * every time before send, otherwise it will be replaced with noop in\n * constructor\n * @default noop\n */\n private _beforeSend() {\n if (this._getHeaders) {\n this._send = prepareSend(this._urlStr, this._getHeaders());\n }\n }\n\n /**\n * Transform spans and sends to Zipkin service.\n */\n private _sendSpans(\n spans: ReadableSpan[],\n serviceName: string,\n done?: (result: ExportResult) => void\n ) {\n const zipkinSpans = spans.map(span =>\n toZipkinSpan(\n span,\n String(\n span.attributes[ATTR_SERVICE_NAME] ||\n span.resource.attributes[ATTR_SERVICE_NAME] ||\n serviceName\n ),\n this._statusCodeTagName,\n this._statusDescriptionTagName\n )\n );\n this._beforeSend();\n return this._send(zipkinSpans, (result: ExportResult) => {\n if (done) {\n return done(result);\n }\n });\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opentelemetry/exporter-zipkin",
3
- "version": "2.7.1",
3
+ "version": "2.9.0",
4
4
  "description": "OpenTelemetry Zipkin Exporter allows the user to send collected traces to Zipkin.",
5
5
  "main": "build/src/index.js",
6
6
  "module": "build/esm/index.js",
@@ -17,8 +17,8 @@
17
17
  "prepublishOnly": "npm run compile",
18
18
  "compile": "tsc --build tsconfig.json tsconfig.esm.json tsconfig.esnext.json",
19
19
  "clean": "tsc --build --clean tsconfig.json tsconfig.esm.json tsconfig.esnext.json",
20
- "lint": "eslint . --ext .ts",
21
- "lint:fix": "eslint . --ext .ts --fix",
20
+ "lint": "eslint .",
21
+ "lint:fix": "eslint . --fix",
22
22
  "tdd": "npm run test -- --watch-extensions ts --watch",
23
23
  "test": "nyc mocha 'test/**/*.test.ts' --exclude 'test/browser/**/*.ts'",
24
24
  "test:browser": "karma start --single-run",
@@ -58,40 +58,40 @@
58
58
  "access": "public"
59
59
  },
60
60
  "devDependencies": {
61
- "@babel/core": "7.27.1",
62
- "@babel/preset-env": "7.27.2",
61
+ "@babel/core": "7.29.7",
62
+ "@babel/preset-env": "7.29.7",
63
63
  "@opentelemetry/api": "^1.0.0",
64
64
  "@types/mocha": "10.0.10",
65
65
  "@types/node": "18.19.130",
66
66
  "@types/sinon": "17.0.4",
67
67
  "@types/webpack-env": "1.16.3",
68
68
  "babel-loader": "10.0.0",
69
- "babel-plugin-istanbul": "7.0.1",
69
+ "babel-plugin-istanbul": "8.0.0",
70
70
  "karma": "6.4.4",
71
71
  "karma-chrome-launcher": "3.1.0",
72
72
  "karma-coverage": "2.2.1",
73
73
  "karma-mocha": "2.0.1",
74
74
  "karma-spec-reporter": "0.0.36",
75
75
  "karma-webpack": "5.0.1",
76
- "mocha": "11.7.5",
76
+ "mocha": "11.7.6",
77
77
  "nock": "13.5.6",
78
78
  "nyc": "17.1.0",
79
79
  "sinon": "18.0.1",
80
- "ts-loader": "9.5.4",
80
+ "ts-loader": "9.5.7",
81
81
  "typescript": "5.0.4",
82
82
  "webpack": "5.104.1",
83
- "webpack-cli": "7.0.2"
83
+ "webpack-cli": "7.0.3"
84
84
  },
85
85
  "peerDependencies": {
86
86
  "@opentelemetry/api": "^1.0.0"
87
87
  },
88
88
  "dependencies": {
89
- "@opentelemetry/core": "2.7.1",
90
- "@opentelemetry/resources": "2.7.1",
91
- "@opentelemetry/sdk-trace-base": "2.7.1",
89
+ "@opentelemetry/core": "2.9.0",
90
+ "@opentelemetry/resources": "2.9.0",
91
+ "@opentelemetry/sdk-trace": "2.9.0",
92
92
  "@opentelemetry/semantic-conventions": "^1.29.0"
93
93
  },
94
94
  "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-exporter-zipkin",
95
95
  "sideEffects": false,
96
- "gitHead": "2400d8389a4469f7a81ccd3be2f0b2c2dd6faaf7"
96
+ "gitHead": "40d67b7690a61bd9af0a4e5b5b9f4a14b11fc50e"
97
97
  }