Slackbot
11/22/2023, 2:14 PMKashyap Rajendra Kathrani
11/22/2023, 2:16 PMKashyap Rajendra Kathrani
11/23/2023, 5:51 AMnitya-signoz
11/23/2023, 5:52 AMVishal Sharma
11/23/2023, 5:53 AMparentSpanId=''
in list viewKashyap Rajendra Kathrani
11/23/2023, 6:29 AMKashyap Rajendra Kathrani
11/24/2023, 9:31 AMKashyap Rajendra Kathrani
11/28/2023, 10:50 AMVishal Sharma
11/28/2023, 11:09 AMVishal Sharma
11/28/2023, 11:10 AMKashyap Rajendra Kathrani
11/28/2023, 11:38 AMimport { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
import { Resource } from '@opentelemetry/resources';
import * as opentelemetry from '@opentelemetry/sdk-node';
import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';
import getEnv from './shared/utils/get-env';
import { getNodeAutoInstrumentations } from '@opentelemetry/auto-instrumentations-node';
import { TypeormInstrumentation } from 'opentelemetry-instrumentation-typeorm';
import * as dotenv from 'dotenv';
dotenv.config();
const exporterOptions = {
url: getEnv<string>('SIGNOZ_OTEL_COLLECTOR'),
};
const autoInstrumentationsOptions = {
'@opentelemetry/instrumentation-fs': { enabled: false },
'@opentelemetry/instrumentation-dns': { enabled: false },
'@opentelemetry/instrumentation-amqplib': { enabled: false },
'@opentelemetry/instrumentation-aws-lambda': { enabled: false },
'@opentelemetry/instrumentation-aws-sdk': { enabled: true },
'@opentelemetry/instrumentation-bunyan': { enabled: false },
'@opentelemetry/instrumentation-cassandra-driver': { enabled: false },
'@opentelemetry/instrumentation-connect': { enabled: false },
'@opentelemetry/instrumentation-cucumber': { enabled: false },
'@opentelemetry/instrumentation-dataloader': { enabled: false },
'@opentelemetry/instrumentation-express': { enabled: false },
'@opentelemetry/instrumentation-fastify': { enabled: false },
'@opentelemetry/instrumentation-generic-pool': { enabled: false },
'@opentelemetry/instrumentation-graphql': { enabled: false },
'@opentelemetry/instrumentation-grpc': { enabled: true },
'@opentelemetry/instrumentation-hapi': { enabled: false },
'@opentelemetry/instrumentation-http': { enabled: true },
'@opentelemetry/instrumentation-ioredis': { enabled: true },
'@opentelemetry/instrumentation-knex': { enabled: false },
'@opentelemetry/instrumentation-koa': { enabled: false },
'@opentelemetry/instrumentation-lru-memoizer': { enabled: false },
'@opentelemetry/instrumentation-memcached': { enabled: false },
'@opentelemetry/instrumentation-mongodb': { enabled: false },
'@opentelemetry/instrumentation-mongoose': { enabled: false },
'@opentelemetry/instrumentation-mysql2': { enabled: false },
'@opentelemetry/instrumentation-mysql': { enabled: false },
'@opentelemetry/instrumentation-nestjs-core': { enabled: true },
'@opentelemetry/instrumentation-net': { enabled: false },
'@opentelemetry/instrumentation-pg': { enabled: true },
'@opentelemetry/instrumentation-pino': { enabled: true },
'@opentelemetry/instrumentation-redis': { enabled: true },
'@opentelemetry/instrumentation-redis-4': { enabled: false },
'@opentelemetry/instrumentation-restify': { enabled: false },
'@opentelemetry/instrumentation-router': { enabled: false },
'@opentelemetry/instrumentation-socket.io': { enabled: false },
'@opentelemetry/instrumentation-tedious': { enabled: false },
'@opentelemetry/instrumentation-winston': { enabled: false },
};
const traceExporter = new OTLPTraceExporter(exporterOptions);
const sdk = new opentelemetry.NodeSDK({
traceExporter,
instrumentations: [getNodeAutoInstrumentations(autoInstrumentationsOptions), new TypeormInstrumentation()],
resource: new Resource({
[SemanticResourceAttributes.SERVICE_NAME]: getEnv<string>('SERVICE_NAME'),
}),
});
sdk.start();
process.on('SIGTERM', () => {
sdk
.shutdown()
.then(() => console.log('Tracing terminated'))
.catch(error => console.log('Error terminating tracing', error))
.finally(() => process.exit(0));
});
export default sdk;
We have ensured that opentel gets initialised before creating nest app
Please let me know if you need more details.Kashyap Rajendra Kathrani
11/29/2023, 5:33 AM