From ef4db6f659401d4346b954c56fd5f37e2acf3c01 Mon Sep 17 00:00:00 2001 From: demo-bot Date: Mon, 11 May 2026 14:48:06 +0000 Subject: [PATCH] feat(scaffold): add src/tracing.ts [skip ci] --- src/tracing.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/tracing.ts diff --git a/src/tracing.ts b/src/tracing.ts new file mode 100644 index 0000000..e5b4c52 --- /dev/null +++ b/src/tracing.ts @@ -0,0 +1,19 @@ +// OTel SDK bootstrap — loaded via --require ./dist/tracing.js before the app. +// Auto-configures from OTEL_* env vars set in score.yaml / Humanitec. +// No-ops gracefully when OTEL_EXPORTER_OTLP_ENDPOINT is absent (local dev). +import { NodeSDK } from '@opentelemetry/sdk-node'; +import { getNodeAutoInstrumentations } from '@opentelemetry/auto-instrumentations-node'; + +const endpoint = process.env.OTEL_EXPORTER_OTLP_ENDPOINT; +if (endpoint) { + const sdk = new NodeSDK({ + instrumentations: [ + getNodeAutoInstrumentations({ + '@opentelemetry/instrumentation-fs': { enabled: false }, + }), + ], + }); + + sdk.start(); + process.on('SIGTERM', () => sdk.shutdown().finally(() => process.exit(0))); +}