UNPKG

@aws/aws-distro-opentelemetry-node-autoinstrumentation

Version:

This package provides Amazon Web Services distribution of the OpenTelemetry Node Instrumentation, which allows for auto-instrumentation of NodeJS applications.

39 lines 2.16 kB
import { ExportResult } from '@opentelemetry/core'; import { Resource } from '@opentelemetry/resources'; import { ReadableSpan, SpanExporter } from '@opentelemetry/sdk-trace-base'; import { MetricAttributeGenerator } from './metric-attribute-generator'; /** * This exporter will update a span with metric attributes before exporting. It depends on a * {@link SpanExporter} being provided on instantiation, which the AwsMetricAttributesSpanExporter will * delegate export to. Also, a {@link MetricAttributeGenerator} must be provided, which will provide a * means to determine attributes which should be applied to the span. Finally, a {@link Resource} must * be provided, which is used to generate metric attributes. * * <p>This exporter should be coupled with the {@link AwsSpanMetricsProcessor} using the same * {@link MetricAttributeGenerator}. This will result in metrics and spans being produced with * common attributes. */ export declare class AwsMetricAttributesSpanExporter implements SpanExporter { private delegate; private generator; private resource; /** Use {@link AwsMetricAttributesSpanExporterBuilder} to construct this exporter. */ static create(delegate: SpanExporter, generator: MetricAttributeGenerator, resource: Resource): AwsMetricAttributesSpanExporter; private constructor(); export(spans: ReadableSpan[], resultCallback: (result: ExportResult) => void): void; shutdown(): Promise<void>; forceFlush(): Promise<void>; private addMetricAttributes; private copyAttributesWithLocalRoot; /** * {@link export} works with a {@link ReadableSpan}, which does not permit modification. However, we * need to add derived metric attributes to the span. However, we are still able to modify the * attributes in the span (the attributes itself is readonly, so it cannot be outright replaced). * This may be risky. * * <p>See https://github.com/open-telemetry/opentelemetry-specification/issues/1089 for more * context on this approach. */ private static wrapSpanWithAttributes; } //# sourceMappingURL=aws-metric-attributes-span-exporter.d.ts.map