Files
immich/server/bin
midzelis e03ed9b387 feat(server): add OpenTelemetry tracing and metrics support
Adds comprehensive OpenTelemetry instrumentation for better observability:

Tracing:
- HTTP requests via @opentelemetry/instrumentation-http
- NestJS controllers via @opentelemetry/instrumentation-nestjs-core
- Redis operations via @opentelemetry/instrumentation-ioredis
- BullMQ job queues via bullmq-otel
- Database queries via Kysely log callback with accurate timing
- File operations (send, stream, read)
- Media processing (thumbnails, thumbhash, EXIF operations)
- Metadata extraction

Metrics:
- Database connection pool usage (used/idle connections)

The SDK is initialized in telemetry-preload.ts which is preloaded via
--require before the main app starts. This ensures http instrumentation
hooks are in place before any http module is imported.

Enable tracing by setting OTEL_EXPORTER_OTLP_ENDPOINT environment variable.

Also adds TraceContext to IBaseJob for future distributed trace propagation
across BullMQ job boundaries.
2026-01-28 05:14:44 +00:00
..