@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
JavaScript
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