@jufab/opentelemetry-angular-interceptor
Version:
@jufab/opentelemetry-angular-interceptor is an Angular Library to deploy [OpenTelemetry](https://opentelemetry.io/) in your Angular application
42 lines • 5.58 kB
JavaScript
import { APP_INITIALIZER, NgModule, Optional, SkipSelf, } from '@angular/core';
import { defineConfigProvider, } from './configuration/opentelemetry-config';
import { InstrumentationService } from './services/instrumentation/instrumentation.service';
import * as i0 from "@angular/core";
export const instruServiceLoader = (instrumentationService) => {
const loader = () => instrumentationService.initInstrumentation();
return loader;
};
export class OtelWebTracerModule {
constructor(parentModule) {
if (parentModule) {
throw new Error('OtelWebTracerModule is already loaded. Import it in the AppModule only');
}
}
static forRoot(config, configProvider) {
configProvider = defineConfigProvider(config, configProvider);
return {
ngModule: OtelWebTracerModule,
providers: [
configProvider,
InstrumentationService,
{
provide: APP_INITIALIZER,
useFactory: instruServiceLoader,
deps: [InstrumentationService],
multi: true
}
],
};
}
}
OtelWebTracerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: OtelWebTracerModule, deps: [{ token: OtelWebTracerModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
OtelWebTracerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: OtelWebTracerModule });
OtelWebTracerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: OtelWebTracerModule });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: OtelWebTracerModule, decorators: [{
type: NgModule
}], ctorParameters: function () { return [{ type: OtelWebTracerModule, decorators: [{
type: Optional
}, {
type: SkipSelf
}] }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RlbC13ZWJ0cmFjZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvb3BlbnRlbGVtZXRyeS1pbnRlcmNlcHRvci9zcmMvbGliL290ZWwtd2VidHJhY2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZUFBZSxFQU1mLFFBQVEsRUFDUixRQUFRLEVBQ1IsUUFBUSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxvQkFBb0IsR0FFckIsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQzs7QUFFNUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxzQkFBOEMsRUFBRSxFQUFFO0lBQ3BGLE1BQU0sTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDbEUsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBSUYsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixZQUMwQixZQUFrQztRQUUxRCxJQUFJLFlBQVksRUFBRTtZQUNoQixNQUFNLElBQUksS0FBSyxDQUNiLHdFQUF3RSxDQUN6RSxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU8sQ0FDbkIsTUFBOEMsRUFDOUMsY0FBeUc7UUFHekcsY0FBYyxHQUFHLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQztRQUU5RCxPQUFPO1lBQ0wsUUFBUSxFQUFFLG1CQUFtQjtZQUM3QixTQUFTLEVBQUU7Z0JBQ1QsY0FBYztnQkFDZCxzQkFBc0I7Z0JBQ3RCO29CQUNFLE9BQU8sRUFBRSxlQUFlO29CQUN4QixVQUFVLEVBQUUsbUJBQW1CO29CQUMvQixJQUFJLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDOUIsS0FBSyxFQUFFLElBQUk7aUJBQ1o7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDOztnSEFoQ1UsbUJBQW1CO2lIQUFuQixtQkFBbUI7aUhBQW5CLG1CQUFtQjsyRkFBbkIsbUJBQW1CO2tCQUQvQixRQUFROzswQkFJSixRQUFROzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQVBQX0lOSVRJQUxJWkVSLFxuICBDbGFzc1Byb3ZpZGVyLFxuICBDb25zdHJ1Y3RvclByb3ZpZGVyLFxuICBFeGlzdGluZ1Byb3ZpZGVyLFxuICBGYWN0b3J5UHJvdmlkZXIsXG4gIE1vZHVsZVdpdGhQcm92aWRlcnMsXG4gIE5nTW9kdWxlLFxuICBPcHRpb25hbCxcbiAgU2tpcFNlbGYsXG4gIFZhbHVlUHJvdmlkZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgZGVmaW5lQ29uZmlnUHJvdmlkZXIsXG4gIE9wZW5UZWxlbWV0cnlDb25maWcsXG59IGZyb20gJy4vY29uZmlndXJhdGlvbi9vcGVudGVsZW1ldHJ5LWNvbmZpZyc7XG5pbXBvcnQgeyBJbnN0cnVtZW50YXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9pbnN0cnVtZW50YXRpb24vaW5zdHJ1bWVudGF0aW9uLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgaW5zdHJ1U2VydmljZUxvYWRlciA9IChpbnN0cnVtZW50YXRpb25TZXJ2aWNlOiBJbnN0cnVtZW50YXRpb25TZXJ2aWNlKSA9PiB7XG4gIGNvbnN0IGxvYWRlciA9ICgpID0+IGluc3RydW1lbnRhdGlvblNlcnZpY2UuaW5pdEluc3RydW1lbnRhdGlvbigpO1xuICByZXR1cm4gbG9hZGVyO1xufTtcblxuXG5ATmdNb2R1bGUoKVxuZXhwb3J0IGNsYXNzIE90ZWxXZWJUcmFjZXJNb2R1bGUge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHBhcmVudE1vZHVsZT86IE90ZWxXZWJUcmFjZXJNb2R1bGVcbiAgKSB7XG4gICAgaWYgKHBhcmVudE1vZHVsZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnT3RlbFdlYlRyYWNlck1vZHVsZSBpcyBhbHJlYWR5IGxvYWRlZC4gSW1wb3J0IGl0IGluIHRoZSBBcHBNb2R1bGUgb25seSdcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBmb3JSb290KFxuICAgIGNvbmZpZzogT3BlblRlbGVtZXRyeUNvbmZpZyB8IG51bGwgfCB1bmRlZmluZWQsXG4gICAgY29uZmlnUHJvdmlkZXI/OiBWYWx1ZVByb3ZpZGVyIHwgQ2xhc3NQcm92aWRlciB8IENvbnN0cnVjdG9yUHJvdmlkZXIgfCBFeGlzdGluZ1Byb3ZpZGVyIHwgRmFjdG9yeVByb3ZpZGVyXG4gICk6IE1vZHVsZVdpdGhQcm92aWRlcnM8T3RlbFdlYlRyYWNlck1vZHVsZT4ge1xuXG4gICAgY29uZmlnUHJvdmlkZXIgPSBkZWZpbmVDb25maWdQcm92aWRlcihjb25maWcsIGNvbmZpZ1Byb3ZpZGVyKTtcblxuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogT3RlbFdlYlRyYWNlck1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICBjb25maWdQcm92aWRlcixcbiAgICAgICAgSW5zdHJ1bWVudGF0aW9uU2VydmljZSxcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICB1c2VGYWN0b3J5OiBpbnN0cnVTZXJ2aWNlTG9hZGVyLFxuICAgICAgICAgIGRlcHM6IFtJbnN0cnVtZW50YXRpb25TZXJ2aWNlXSxcbiAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgICBdLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==