@jufab/opentelemetry-angular-interceptor
Version:
@jufab/opentelemetry-angular-interceptor is an Angular Library to deploy [OpenTelemetry](https://opentelemetry.io/) in your Angular application
83 lines (82 loc) • 2.44 kB
TypeScript
import { Instrumentation } from '@opentelemetry/instrumentation';
import { OpenTelemetryConfig } from '../../configuration/opentelemetry-config';
import { IExporter } from '../exporter/exporter.interface';
import { IPropagator } from '../propagator/propagator.interface';
import * as i0 from "@angular/core";
/**
* InstrumentationService.
* Service for component to add instrumentation.
*/
export declare class InstrumentationService {
private config;
private exporterService;
private propagatorService;
private instrumentation;
/**
* tracerProvider
*/
private tracerProvider;
/**
* contextManager
*/
private contextManager;
/**
* Constructor
*
* @param config
* @param exporterService
* @param propagatorService
*/
constructor(config: OpenTelemetryConfig, exporterService: IExporter, propagatorService: IPropagator, instrumentation: Instrumentation[]);
/**
* Init instrumentation on init
*/
initInstrumentation(): void;
/**
* Generate Resource Attributes
* @param commonConfig common configuration
* @returns Resource
*/
private loadResourceAttributes;
/**
* Verify to insert or not a Span Exporter
* @param console config to insert console span
* @param production production mode
* @param exporter exporter
* @returns Array of SpanProcessor
*/
private insertOrNotSpanExporter;
/**
* Insert in tracer the console span if config is true
*
* @param console config to insert console span
* @returns SpanProcessor
*/
private insertConsoleSpanExporter;
/**
* Insert BatchSpanProcessor in production mode
* SimpleSpanProcessor otherwise
*
* @param boolean production
* @param IExporter exporter
* @returns SpanProcessor
*/
private insertSpanProcessorProductionMode;
/**
* convert String to Number (or undefined)
*
* @param value
* @returns number or undefined
*/
private convertStringToNumber;
/**
* define the Probability Sampler
* By Default, it's always (or 1)
*
* @param sampleConfig the sample configuration
* @returns Sampler
*/
private defineProbabilitySampler;
static ɵfac: i0.ɵɵFactoryDeclaration<InstrumentationService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<InstrumentationService>;
}