JSPM

@uphold/opentelemetry-baggage-span-processor

2.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 4669
  • Score
    100M100P100Q153143F
  • License MIT

Package that sets all baggage entries as span attributes.

Package Exports

  • @uphold/opentelemetry-baggage-span-processor
  • @uphold/opentelemetry-baggage-span-processor/dist/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@uphold/opentelemetry-baggage-span-processor) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@uphold/opentelemetry-baggage-span-processor

Package that sets all baggage entries as span attributes.

Installation

npm install @uphold/opentelemetry-baggage-span-processor

Why?

Finding spans or traces that match contextual data stored in baggage is not an out-of-the-box feature in OpenTelemetry. This packages sets all baggage entries as span attributes so that you can search any span based on data stored in the baggage, like a user.id or request.id.

Usage

Add BaggageSpanProcessor as a spanProcessor to the tracerProvider. Here's how it looks if you are using the NodeSDK:

import { BaggageSpanProcessor } from '@uphold/opentelemetry-baggage-span-processor';
import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
import { ProxyTracerProvider, trace } from '@opentelemetry/api';

const sdk = new NodeSDK({});

sdk.start();

const proxyTracerProvider = trace.getTracerProvider() as ProxyTracerProvider;
const tracerProvider = proxyTracerProvider.getDelegate() as NodeTracerProvider;

tracerProvider.addSpanProcessor(new BaggageSpanProcessor());

Tests

npm test

License

Licensed under MIT.