/ opencodehub / src / lib / tracing.ts
swadhinbiswas Initial commit of OpenCodeHub source · 12/11/2025
1110042
28 lines · 792 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import { getNodeAutoInstrumentations } from "@opentelemetry/auto-instrumentations-node";
import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http";
import { NodeSDK } from "@opentelemetry/sdk-node";
import { logger } from "./logger";

const traceExporter = new OTLPTraceExporter({
  url:
    process.env.OTEL_EXPORTER_OTLP_ENDPOINT ||
    "http://localhost:4318/v1/traces",
});

const sdk = new NodeSDK({
  traceExporter,
  instrumentations: [getNodeAutoInstrumentations()],
  serviceName: "opencodehub",
});

export function initTracing() {
  if (process.env.ENABLE_TRACING === "true") {
    try {
      sdk.start();
      logger.info("OpenTelemetry tracing initialized");
    } catch (e) {
      logger.error({ err: e }, "Failed to initialize OpenTelemetry");
    }
  }
}