File

projects/opentelemetry-interceptor/src/lib/services/propagator/composite-propagator/composite-propagator.service.ts

Description

CompositePropagatorService

Index

Methods

Constructor

constructor(b3PropagatorService: B3PropagatorService, w3cTraceContextPropagatorService: W3CTraceContextPropagatorService, jaegerHttpTracePropagatorService: JaegerHttpTracePropagatorService, awsXrayPropagatorService: AwsXrayPropagatorService)

Constructor

Parameters :
Name Type Optional
b3PropagatorService B3PropagatorService No
w3cTraceContextPropagatorService W3CTraceContextPropagatorService No
jaegerHttpTracePropagatorService JaegerHttpTracePropagatorService No
awsXrayPropagatorService AwsXrayPropagatorService No

Methods

getPropagator
getPropagator()

Return an CompositePropagator

Returns : TextMapPropagator

TextMapPropagator as CompositePropagator

import { Injectable, Inject } from '@angular/core';
import { IPropagator } from '../propagator.interface';
import { TextMapPropagator } from '@opentelemetry/api';
import { CompositePropagator } from '@opentelemetry/core';
import { B3PropagatorService } from '../b3-propagator/b3-propagator.service';
import { W3CTraceContextPropagatorService } from '../w3c-trace-context-propagator/w3c-trace-context-propagator.service';
import { JaegerHttpTracePropagatorService } from '../jaeger-http-trace-propagator/jaeger-http-trace-propagator.service';
import { AwsXrayPropagatorService } from '../aws-xray-propagator/aws-xray-propagator.service';
/**
 * CompositePropagatorService
 */
@Injectable({
  providedIn: 'root',
})
export class CompositePropagatorService implements IPropagator {
  /**
   * Constructor
   */
  constructor(
    @Inject(B3PropagatorService)
    private b3PropagatorService: B3PropagatorService,
    @Inject(W3CTraceContextPropagatorService)
    private w3cTraceContextPropagatorService: W3CTraceContextPropagatorService,
    @Inject(JaegerHttpTracePropagatorService)
    private jaegerHttpTracePropagatorService: JaegerHttpTracePropagatorService,
    @Inject(AwsXrayPropagatorService)
    private awsXrayPropagatorService: AwsXrayPropagatorService
  ) {}

  /**
   * Return an CompositePropagator
   *
   * @return TextMapPropagator as CompositePropagator
   */
  getPropagator(): TextMapPropagator {
    return new CompositePropagator({
      propagators: [
        this.b3PropagatorService.getPropagator(),
        this.w3cTraceContextPropagatorService.getPropagator(),
        this.jaegerHttpTracePropagatorService.getPropagator(),
        this.awsXrayPropagatorService.getPropagator()
      ],
    });
  }
}

results matching ""

    No results matching ""