diff --git a/src/main/java/com/decathlon/idp_core/infrastructure/adapters/api/controller/OtelDebugController.java b/src/main/java/com/decathlon/idp_core/infrastructure/adapters/api/controller/OtelDebugController.java
new file mode 100644
index 00000000..33e0b4b8
--- /dev/null
+++ b/src/main/java/com/decathlon/idp_core/infrastructure/adapters/api/controller/OtelDebugController.java
@@ -0,0 +1,44 @@
+package com.decathlon.idp_core.infrastructure.adapters.api.controller;
+
+import java.util.Map;
+
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import io.opentelemetry.api.GlobalOpenTelemetry;
+import io.opentelemetry.api.trace.Span;
+import io.opentelemetry.api.trace.StatusCode;
+import io.opentelemetry.api.trace.Tracer;
+import io.opentelemetry.context.Scope;
+
+/**
+ * Debug endpoint used to validate that OpenTelemetry spans are created and
+ * exported.
+ *
+ *
+ * This endpoint intentionally creates a custom span with attributes and logs an
+ * event so that Cloud Run logs can confirm whether the SDK is active and
+ * whether the exporter is called.
+ */
+@RestController
+@RequestMapping("/debug")
+public class OtelDebugController {
+
+ private static final Tracer TRACER = GlobalOpenTelemetry.get().getTracer("idp-core-debug");
+
+ @GetMapping("/otel-test")
+ public ResponseEntity