UNPKG

@opentelemetry/core

Version:

OpenTelemetry Core provides constants and utilities shared by all OpenTelemetry SDK packages.

1 lines • 1.08 kB
{"version":3,"file":"exporter.mjs","names":[],"sources":["../../src/internal/exporter.ts"],"sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { context } from '@opentelemetry/api';\nimport type { ExportResult } from '../ExportResult';\nimport { suppressTracing } from '../trace/suppress-tracing';\n\nexport interface Exporter<T> {\n export(arg: T, resultCallback: (result: ExportResult) => void): void;\n}\n\n/**\n * @internal\n * Shared functionality used by Exporters while exporting data, including suppression of Traces.\n */\nexport function _export<T>(\n exporter: Exporter<T>,\n arg: T\n): Promise<ExportResult> {\n return new Promise(resolve => {\n // prevent downstream exporter calls from generating spans\n context.with(suppressTracing(context.active()), () => {\n exporter.export(arg, resolve);\n });\n });\n}\n"],"mappings":";;;;;;;AAiBA,SAAgB,QACd,UACA,KACuB;CACvB,OAAO,IAAI,SAAQ,YAAW;EAE5B,QAAQ,KAAK,gBAAgB,QAAQ,OAAO,CAAC,SAAS;GACpD,SAAS,OAAO,KAAK,OAAO;EAC9B,CAAC;CACH,CAAC;AACH"}