File

projects/opentelemetry-interceptor/src/lib/services/propagator/jaeger-http-trace-propagator/jaeger-http-trace-propagator.service.ts

Description

JaegerHttpTracePropagatorService

Index

Properties
Methods

Constructor

constructor(config: OpenTelemetryConfig)

Constructor

Parameters :
Name Type Optional Description
config OpenTelemetryConfig No

OpenTelemetryConfig

Methods

getPropagator
getPropagator()

Return an JaegerPropagator

Returns : TextMapPropagator

TextMapPropagator as JaegerPropagator

Properties

Private customHeader
Type : string

custom Header

import { Injectable, Inject } from '@angular/core';
import { IPropagator } from '../propagator.interface';
import { TextMapPropagator } from '@opentelemetry/api';
import { JaegerPropagator } from '@opentelemetry/propagator-jaeger';
import { OTEL_CONFIG } from '../../../configuration/opentelemetry-config';
import { OpenTelemetryConfig } from '../../../../public-api';

/**
 * JaegerHttpTracePropagatorService
 */
@Injectable({
  providedIn: 'root',
})
export class JaegerHttpTracePropagatorService implements IPropagator {
  /**
   * custom Header
   */
  private customHeader: string;
  /**
   * Constructor
   *
   * @param config OpenTelemetryConfig
   */
  constructor(@Inject(OTEL_CONFIG) config: OpenTelemetryConfig) {
    this.customHeader = config.jaegerPropagatorConfig?.customHeader;
  }

  /**
   * Return an JaegerPropagator
   *
   * @return TextMapPropagator as JaegerPropagator
   */
  getPropagator(): TextMapPropagator {
    return new JaegerPropagator(this.customHeader);
  }
}

results matching ""

    No results matching ""