@sourceloop/ctrl-plane-tenant-management-service
Version:
Tenant Management microservice for SaaS control plane
32 lines (29 loc) • 1.04 kB
text/typescript
import {JaegerExporter} from '@opentelemetry/exporter-jaeger';
import {NodeTracerProvider} from '@opentelemetry/sdk-trace-node';
import {
BatchSpanProcessor,
ConsoleSpanExporter,
} from '@opentelemetry/sdk-trace-base';
import * as dotenv from 'dotenv';
import * as dotenvExt from 'dotenv-extended';
dotenv.config();
dotenvExt.load({
schema: '.env.example',
errorOnMissing: true,
includeProcessEnv: true,
});
if (!!+(process.env.ENABLE_TRACING ?? 0)) {
const provider = new NodeTracerProvider();
const option = {
serviceName: process.env.SERVICE_NAME ?? '',
tags: [],
// You can use the default UDPSender
host: process.env.OPENTELEMETRY_HOST ?? '',
port: process.env.OPENTELEMETRY_PORT ? +process.env.OPENTELEMETRY_PORT : 0,
};
// Configure span processor to send spans to the exporter
const exporter = new JaegerExporter(option);
provider.addSpanProcessor(new BatchSpanProcessor(exporter));
provider.addSpanProcessor(new BatchSpanProcessor(new ConsoleSpanExporter()));
provider.register();
}