instrumentation.ts 1.0 KB

12345678910111213141516171819202122232425262728
  1. import { OTLPLogExporter } from '@opentelemetry/exporter-logs-otlp-proto';
  2. import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
  3. import { resourceFromAttributes } from '@opentelemetry/resources';
  4. import { BatchLogRecordProcessor } from '@opentelemetry/sdk-logs';
  5. import { NodeSDK } from '@opentelemetry/sdk-node';
  6. import { BatchSpanProcessor } from '@opentelemetry/sdk-trace-base';
  7. import { getSdkConfiguration } from '@vendure/telemetry';
  8. const traceExporter = new OTLPTraceExporter({
  9. url: 'http://localhost:4318/v1/traces',
  10. });
  11. process.env.OTEL_EXPORTER_OTLP_ENDPOINT = 'http://localhost:3100/otlp';
  12. process.env.OTEL_LOGS_EXPORTER = 'otlp';
  13. const logExporter = new OTLPLogExporter();
  14. const config = getSdkConfiguration(false, {
  15. spanProcessors: [new BatchSpanProcessor(traceExporter)],
  16. logRecordProcessors: [new BatchLogRecordProcessor(logExporter)],
  17. resource: resourceFromAttributes({
  18. 'service.name': 'vendure-dev-server',
  19. }),
  20. });
  21. const sdk = new NodeSDK(config);
  22. sdk.start();