UNPKG

@jufab/opentelemetry-angular-interceptor

Version:

@jufab/opentelemetry-angular-interceptor is an Angular Library to deploy [OpenTelemetry](https://opentelemetry.io/) in your Angular application

55 lines 5.43 kB
import { Injectable, Inject } from '@angular/core'; import { B3Propagator, B3InjectEncoding } from '@opentelemetry/propagator-b3'; import { OTEL_CONFIG, } from '../../../configuration/opentelemetry-config'; import * as i0 from "@angular/core"; /** * B3PropagatorService * * Can be a single or multi header. * * See Configuration for more information */ export class B3PropagatorService { /** * Constructor * * @param config OpenTelemetryConfig */ constructor(config) { this.b3PropagatorConfig = { injectEncoding: B3PropagatorService.defineB3Encoding(config.b3PropagatorConfig?.multiHeader) }; } /** * Define if it's a single or multi header * * @param value string (0 => single header, 1 => Multi Header) * @return B3InjectEncoding */ static defineB3Encoding(value) { if (value && '0' === value) { return B3InjectEncoding.SINGLE_HEADER; } return B3InjectEncoding.MULTI_HEADER; } /** * Return an B3Propagator * * @return TextMapPropagator as B3Propagator */ getPropagator() { return new B3Propagator(this.b3PropagatorConfig); } } B3PropagatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: B3PropagatorService, deps: [{ token: OTEL_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); B3PropagatorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: B3PropagatorService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: B3PropagatorService, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }], ctorParameters: function () { return [{ type: undefined, decorators: [{ type: Inject, args: [OTEL_CONFIG] }] }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYjMtcHJvcGFnYXRvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb3BlbnRlbGVtZXRyeS1pbnRlcmNlcHRvci9zcmMvbGliL3NlcnZpY2VzL3Byb3BhZ2F0b3IvYjMtcHJvcGFnYXRvci9iMy1wcm9wYWdhdG9yLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLFlBQVksRUFBc0IsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRyxPQUFPLEVBRUwsV0FBVyxHQUNaLE1BQU0sNkNBQTZDLENBQUM7O0FBRXJEOzs7Ozs7R0FNRztBQUlILE1BQU0sT0FBTyxtQkFBbUI7SUFNOUI7Ozs7T0FJRztJQUNILFlBQWlDLE1BQTJCO1FBQzFELElBQUksQ0FBQyxrQkFBa0IsR0FBRztZQUN4QixjQUFjLEVBQUUsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFLFdBQVcsQ0FBQztTQUM3RixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQWE7UUFDM0MsSUFBSSxLQUFLLElBQUksR0FBRyxLQUFLLEtBQUssRUFBRTtZQUMxQixPQUFPLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztTQUN2QztRQUNELE9BQU8sZ0JBQWdCLENBQUMsWUFBWSxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsYUFBYTtRQUNYLE9BQU8sSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDbkQsQ0FBQzs7Z0hBckNVLG1CQUFtQixrQkFXVixXQUFXO29IQVhwQixtQkFBbUIsY0FGbEIsTUFBTTsyRkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFZYyxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElQcm9wYWdhdG9yIH0gZnJvbSAnLi4vcHJvcGFnYXRvci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVGV4dE1hcFByb3BhZ2F0b3IgfSBmcm9tICdAb3BlbnRlbGVtZXRyeS9hcGknO1xuaW1wb3J0IHsgQjNQcm9wYWdhdG9yLCBCM1Byb3BhZ2F0b3JDb25maWcsIEIzSW5qZWN0RW5jb2RpbmcgfSBmcm9tICdAb3BlbnRlbGVtZXRyeS9wcm9wYWdhdG9yLWIzJztcbmltcG9ydCB7XG4gIE9wZW5UZWxlbWV0cnlDb25maWcsXG4gIE9URUxfQ09ORklHLFxufSBmcm9tICcuLi8uLi8uLi9jb25maWd1cmF0aW9uL29wZW50ZWxlbWV0cnktY29uZmlnJztcblxuLyoqXG4gKiBCM1Byb3BhZ2F0b3JTZXJ2aWNlXG4gKlxuICogQ2FuIGJlIGEgc2luZ2xlIG9yIG11bHRpIGhlYWRlci5cbiAqXG4gKiBTZWUgQ29uZmlndXJhdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvblxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQjNQcm9wYWdhdG9yU2VydmljZSBpbXBsZW1lbnRzIElQcm9wYWdhdG9yIHtcbiAgLyoqXG4gICAqIEIzUHJvcGFnYXRvckNvbmZpZ1xuICAgKi9cbiAgcHJpdmF0ZSBiM1Byb3BhZ2F0b3JDb25maWc6IEIzUHJvcGFnYXRvckNvbmZpZztcblxuICAvKipcbiAgICogQ29uc3RydWN0b3JcbiAgICpcbiAgICogQHBhcmFtIGNvbmZpZyBPcGVuVGVsZW1ldHJ5Q29uZmlnXG4gICAqL1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KE9URUxfQ09ORklHKSBjb25maWc6IE9wZW5UZWxlbWV0cnlDb25maWcpIHtcbiAgICB0aGlzLmIzUHJvcGFnYXRvckNvbmZpZyA9IHtcbiAgICAgIGluamVjdEVuY29kaW5nOiBCM1Byb3BhZ2F0b3JTZXJ2aWNlLmRlZmluZUIzRW5jb2RpbmcoY29uZmlnLmIzUHJvcGFnYXRvckNvbmZpZz8ubXVsdGlIZWFkZXIpXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgaWYgaXQncyBhIHNpbmdsZSBvciBtdWx0aSBoZWFkZXJcbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIHN0cmluZyAoMCA9PiBzaW5nbGUgaGVhZGVyLCAxID0+IE11bHRpIEhlYWRlcilcbiAgICogQHJldHVybiBCM0luamVjdEVuY29kaW5nXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBkZWZpbmVCM0VuY29kaW5nKHZhbHVlOiBzdHJpbmcpOiBCM0luamVjdEVuY29kaW5nIHtcbiAgICBpZiAodmFsdWUgJiYgJzAnID09PSB2YWx1ZSkge1xuICAgICAgcmV0dXJuIEIzSW5qZWN0RW5jb2RpbmcuU0lOR0xFX0hFQURFUjtcbiAgICB9XG4gICAgcmV0dXJuIEIzSW5qZWN0RW5jb2RpbmcuTVVMVElfSEVBREVSO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbiBCM1Byb3BhZ2F0b3JcbiAgICpcbiAgICogQHJldHVybiBUZXh0TWFwUHJvcGFnYXRvciBhcyBCM1Byb3BhZ2F0b3JcbiAgICovXG4gIGdldFByb3BhZ2F0b3IoKTogVGV4dE1hcFByb3BhZ2F0b3Ige1xuICAgIHJldHVybiBuZXcgQjNQcm9wYWdhdG9yKHRoaXMuYjNQcm9wYWdhdG9yQ29uZmlnKTtcbiAgfVxufVxuIl19