File

projects/opentelemetry-interceptor/src/lib/services/exporter/zipkin/zipkin-exporter.service.ts

Description

ZipkinExporterService class

Index

Properties
Methods

Constructor

constructor(config: OpenTelemetryConfig)

constructor

Parameters :
Name Type Optional Description
config OpenTelemetryConfig No

OpenTelemetryConfig

Methods

getExporter
getExporter()

Return a ZipkinExporter configured with zipkinConfig field

Returns : SpanExporter

SpanExporter

Properties

Private zipkinConfig
Type : ExporterConfig

zipkinConfig

import { Injectable, Inject } from '@angular/core';
import { IExporter } from '../exporter.interface';
import { SpanExporter } from '@opentelemetry/sdk-trace-base';
import { OpenTelemetryConfig, OTEL_CONFIG } from '../../../configuration/opentelemetry-config';
import { ZipkinExporter, ExporterConfig } from '@opentelemetry/exporter-zipkin';

/**
 * ZipkinExporterService class
 */
@Injectable({
  providedIn: 'root',
})
export class ZipkinExporterService implements IExporter {
  /**
   * zipkinConfig
   */
  private zipkinConfig: ExporterConfig;

  /**
   * constructor
   *
   * @param config OpenTelemetryConfig
   */
  constructor(@Inject(OTEL_CONFIG) config: OpenTelemetryConfig) {
    this.zipkinConfig = {
      url: config.zipkinConfig?.url,
      headers: config.zipkinConfig?.headers
    };
  }

  /**
   * Return a ZipkinExporter configured with zipkinConfig field
   *
   * @return SpanExporter
   */
  getExporter(): SpanExporter {
    return new ZipkinExporter(this.zipkinConfig);
  }
}

results matching ""

    No results matching ""